php准备语句失败。

时间:2011-10-21 04:07:47

标签: php mysql prepared-statement

我猜我错过了一些东西,但似乎无法让这个陈述发挥作用。当我将它加载到页面中时,我会看到死亡的白屏。

以下是我想要运行的内容

         $statement = $db-> prepare("INSERT INTO `simplyaccomplished`.`blog_comment` (`ID`, `comment`, `date`, `ip_address`, `valid`, `name`, `blogcomment_ID`) VALUES (NULL, ?, NOW(), ?, 0, ?, ? );");
         $statement -> bind_param("sssi",$comment, $ipaddress, $name , $comment_id);
         $statement -> execute($statement);
         $statement -> close();

奇怪的是这完全运行

         $query = ("INSERT INTO `simplyaccomplished`.`blog_comment` (`ID`, `comment`, `date`, `ip_address`, `valid`, `name`, `blogcomment_ID`) VALUES (NULL,'$comment' , NOW(), '$ipaddress', '0', '$name', '$comment_id');");
         $result =$db->query($query);

如果有人能告诉我哪里出错了,我会非常感激!

2 个答案:

答案 0 :(得分:3)

您正在寻找的PDO方法名为bindParam,而不是bind_param:)

答案 1 :(得分:0)

尝试mysqli方法,

$statement = $db-> prepare("INSERT INTO `simplyaccomplished`.`blog_comment` (`ID`, 
      `comment`, `date`, `ip_address`, `valid`, `name`, `blogcomment_ID`) 
         VALUES (?, ?, ?, ?,?, ?, ?)");
$statement -> bind_param("ssssisi",
         null,$comment,NOW(),$ipaddress, 0,$name , $comment_id);

查看PDOMySqlI