Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

__marcosmaciel__

Função cadastrar nao funciona

Recommended Posts

 

Minha função esta retornando um erro ao tentar cadastrar uma pessoa olhem só

 

 

========================================================================================

 

<?php
//FUNÇÃO DE CADASTRO
function cadastro($nome,$email,$login,$senha,$nivel){
       $pdo = conecta();
    try{
        $cadastro = $pdo->prepare("INSERT INTO usuarios(Nome,Email,Usuario,Senha,Nivel) VALUES ?,?,?,?,?");
        $cadastro->bindValue(1,$nome,  PDO::PARAM_STR);
        $cadastro->bindValue(2,$email,  PDO::PARAM_STR);
        $cadastro->bindValue(3,$login,  PDO::PARAM_STR);
        $cadastro->bindValue(4,md5(strrev($senha)),  PDO::PARAM_STR);
        $cadastro->bindValue(5,$nivel,  PDO::PARAM_STR);
      
        $cadastro->execute();
        if($cadastro->rowCount() > 0):
            return TRUE;
        else:
            return FALSE;
        endif;
    } catch (PDOException $e) {
        echo $e ->getMessage();
    }
}

 

 

= ===========================================================

quando chamo ela pra cadastrar

 

<?php
ob_start();
session_start();
require '../funcoes/banco/conexao.php';
require '../funcoes/login.php';
require '../funcoes/crud/crud.php';
otherlogado('usuarios');

if (isset($_GET['logout']) && $_GET['logout'] == true) :
    session_destroy();
    header("Location: ../index.php");
endif;
?>
<?php
if(cadastro('Financeiro', 'email@email.com.br', '...', 'financeiro', '2')):
    echo "Cadastro";
    else:
        echo 'Erro ao cadastrar';    
     ;
endif;
?>

 

 

====

retorno da echo

 

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Financeiro','email@email.com.br','Financeiro','...' at line 1Erro ao cadastrar

 

 

 

 

Me ajudem por favor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Marcos,

Esta faltando você encapsular as variaveis do prepare "(?,?,?,?,?)" , do jeito que está vai dar problema.

Tente essa linha

$cadastro = $pdo->prepare("INSERT INTO
`usuarios`(`Nome`,`Email`,`Usuario`,`Senha`,`Nivel`) VALUES (?,?,?,?,?) ");


Obs: verifique se o nomes dos campos estão certos "(`Nome`,`Email`,`Usuario`,`Senha`,`Nivel`)";


Valeu depois me fala se deu certo =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.