我没有收到任何错误,但是当我刷新数据库时似乎没有任何错误。连接凭证肯定是正确的。
$query = $pdo->prepare('INSERT INTO direct_transfer (fname, lname, add, city, post, country, email, nummag, donate) VALUES (:fname, :lname, :add, :city, :post, :country, :email, :nummag, :donate)');
$query->execute(array(':fname'=>$fname,
':lname'=>$lname,
':add'=>$add,
':city'=>$city,
':post'=>$post,
':country'=>$country,
':email'=>$email,
':nummag'=>$nummag,
':donate'=>$donate));
答案 0 :(得分:4)
当你使用reserved words in mysql时,你需要在反引号中转义它们:
... (fname, lname, `add`, city, post, country, email, nummag, donate) ...
您还应该添加错误处理,以便PDO立即告诉您错误。
您可以通过在连接到数据库后添加此异常来告诉PDO抛出异常:
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
您还可以在打开连接时设置错误处理模式,请参阅manual。
答案 1 :(得分:1)
数组中没有“:
”。
$query = $pdo->prepare('INSERT INTO `direct_transfer` (`fname`, `lname`, `add`, `city`, `post`, `country`, `email`, `nummag`, `donate`) VALUES (:fname, :lname, :add, :city, :post, :country, :email, :nummag, :donate)');
$query->execute(array('fname'=>$fname,
'lname'=>$lname,
'add'=>$add,
'city'=>$city,
'post'=>$post,
'country'=>$country,
'email'=>$email,
'nummag'=>$nummag,
'donate'=>$donate));