Ir para conteúdo

POWERED BY:

Arquivado

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

Murray

Código PDO funciona, mas não posta

Recommended Posts

Tenho um código PDO simples pra inserção (antes disso conferir se o nome já não existe no BD, se sim enviar que o nome já existe, se não postar). O código imprime as mensagens pra mim, mas quando consulto o banco nenhuma inserção foi feita. Já tive o mesmo problema com código mysql comum neste mesmo servidor.

Alguém tem ideia do que seja?

 

Valeu

 

PHPproblem.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu o seguinte erro: array(3) { [0]=> string(5) "42000" [1]=> int(1064) [2]=> string(226) "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 ''id','nome','email','telefone') VALUES ('','Michael','michael@email.com.br','332' at line 1" }

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso passei os valores como interrogação. Nunca vi alguém usar PDO com os valores tendo aspas. Uso neles mesmo assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, funcionou. Valeu :D

 

Fiz o seguinte código pra mostrar esse erro ai:

$sql = $prepare->execute();
if ($sql){
    echo 'Postado com sucesso!';
    } else {
    var_dump($prepare->errorInfo());
}

Esse errorInfo mostra muita coisa específica. Tem como eu dar uma polida e me mostrar apenas a mensagem? Por que vou retornar isso direto num aplicativo, tipo se eu digitar o mesmo nome ele me retorna que o nome já existe, mas muita coisa, queria só a mensagem mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

errorInfo retorna o erro do SGBD. Você tem que tratar os erros pelo código, se quiser personalizar as mensagens.

 

No seu caso, ao registrar um nome que já existe, será retornado o erro 1062 do MySQL, para chave duplicada. Veja mais aqui: https://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html

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.