MYSQLI :: prepare(),使用占位符时出错:某事

时间:2011-03-10 07:23:39

标签: php mysql mysqli

嗨我正在使用mysqli,我看到一些使用占位符的例子:some和?

我用的时候?它的工作,但当我使用:像这样的查询

  

$ sql = INSERT INTO food(food_name)   VALUES(:food_name)

然后当我打电话

时出现错误
  

$ mysqli_object->制备($ SQL);

错误消息听起来像这样

  

用户错误!你的错误   SQL语法;检查手册   对应于您的MySQL服务器   用于正确语法的版本   在':food_name)附近

但是当我用的时候?作为占位符,一切运行良好,我使用PHP 5.3.1和MySQL 5.1.41

我错过了某个地方,感谢任何帮助

1 个答案:

答案 0 :(得分:3)

mysqli不支持命名占位符。

PDO可以使用bindParamexecute

(小心,每次查询只能使用一个命名的占位符。它们不是太有用了。)