我有以下几行:
$sql = "INSERT INTO news (title, content) VALUES :title, :content";
$pre = $this->prepare($sql);
$pre->bindValue(":title", "xxx");
$pre->bindValue(":content", "yyy");
$pre->execute();
我没有收到错误,但查询也没有执行(我检查了查询日志)。
我拼命想要改变:
$t="xxx" and $pre->bindValue(":title", $t); (the same also for y)
$sql = "INSERT INTO `news` (`title`, `content`) VALUES :title, :content";
$sql = "INSERT INTO `news` (`title`, `content`) VALUES ':title', ':content'";
没有任何改变。有趣的是,我得不到任何回应,没有任何警告,没有任何错误。 但查询未执行。
我发现了类似的帖子,但没有解决我的问题。
(约$this
...代码位于从PDO类扩展的类中。)
答案 0 :(得分:3)
试试这个,您的值应该包含在values()
"INSERT INTO news (title, content) VALUES (:title, :content)";
而不是
"INSERT INTO news (title, content) VALUES :title, :content";
答案 1 :(得分:2)
尝试:"INSERT INTO news (title, content) VALUES (:title, :content)";
您必须用括号括起插入值。