[英]PDO prepared statement Error 1064
我在嘗試將數據插入表中時遇到此錯誤。
Array([0] => 42000 [1] => 1064 [2] =>您的SQL語法有錯誤;請查看與您的MySQL服務器版本相對應的手冊,以獲取在'username ,
password ,
firstname ,
lastname ,
email ,
emailcode``)VALUES(``第1行)
我的代碼如下:$ reg_data是一個數組,其中包含$ _POST中的數據。
$fields = '`' . implode('`, `',array_keys($reg_data)) . '`';
$data = '\'' . implode('\', \'', $reg_data) . '\'';
$prep = $this->db->prepare('INSERT INTO `users` (`'.$fields.'`) VALUES (?)');
$prep->bindParam(1, $data);
$prep->execute();
print_r($prep->errorInfo());
如您所見,該錯誤清楚地表明您使用了雙向補全電子郵件代碼``
在爆破中添加反引號后,您將再次在插入查詢( '.$fields.'
)中添加
更改
$fields = '`' . implode('`, `',array_keys($reg_data)) . '`';
至
$fields = implode('`, `',array_keys($reg_data)) ;
或者只是使用它而無需使用bak,因為您已經使用implode添加了
$prep = $this->db->prepare('INSERT INTO `users` ('.$fields.') VALUES (?)');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.