Gus*_*cco -1 php mysql pdo insert
我正在尝试使用 PDO id_facebook (mysql bigint)、name(mysql varchar) 和 email(mysql varchar) 插入,但无法解决此错误,PDO 语法看起来正确,可以是什么?
public static function inserirUsuarioFacebook($id_facebook, $nome, $email)
{
try
{
$pdo = Conexao::getInstance();
$consulta = $pdo->prepare("INSERTO INTO usuario_facebook (id_facebook, nome, email) VALUES (:id_facebook, ':nome', ':email')");
$consulta->bindParam(':id_facebook', $id_facebook, PDO::PARAM_INT);
$consulta->bindParam(':nome', $nome, PDO::PARAM_STR);
$consulta->bindParam(':email', $email, PDO::PARAM_STR);
$consulta->execute();
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
Run Code Online (Sandbox Code Playgroud)
您不引用占位符。这会将它们变成字符串,而不是占位符:
... VALUES(:id_facebook, :nome, :email)
^----^-^-----^--- note the lack of quotes
Run Code Online (Sandbox Code Playgroud)
就是所需要的一切
占位符的全部目的是消除任何引用/转义的需要。数据库引擎会为您处理所有这些事情。