报错1QLSTATE[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 'from, to, name, subject, message) VALUES ('abc@gmail.com', 'lala@me.com' at line 1
使用
PDO
语法,一组值是
$vals = array(
':from'=>$email,
':to'=>$recipient,
':name'=>$name,
':subject'=>$subject,
':message'=>$message
);
但是报错check the manual that corresponds to your MySQL server version for the right syntax to use near 'from, to, name, subject, message)
解决方式
from是SQL中的关键字。您不得将其用作列名称而不引用它。
在MySQL中,使用反引号引用列名称,例如`from`
注意,是反引号,而不是引号 `Set`=:Set,
就个人而言,最好还是重命名列比较方便。
报错2[42S22][1054] Unknown column 'xi' in 'field list'
这是因为xi作为一个值,与字段应有的值不匹配。注意此处xi是值,而不是字段。比如他是username
的值,解决方式是将xi
添加引号即可