php-mysql-pdo:插入后准备后执行不起作用

时间:2013-12-14 18:45:25

标签: php mysql sql pdo

我有以下几行:

    $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类扩展的类中。)

2 个答案:

答案 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)";

您必须用括号括起插入值。