为什么$ wpdb-> insert()使sql语法错误?

时间:2019-12-18 01:10:53

标签: php wordpress wordpress-rest-api

我正在使用wpdb-> insert在表中插入一行, 像这样

$wpdb->insert($table_name, array("title"=>"foo"));

$ wpdb-> last_query 返回以下查询

INSERT INTO `some_table` (`title`) VALUES ('foo')

但是我在sql语法中遇到错误

WordPress数据库错误: [您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'1'附近使用

该错误有点令人困惑,我在插入语句中传递了一个字符串'foo',但不知何故它在错误中显示了'1'。

当我在phpunit中运行$ wpdb-> insert时,会发生此错误,我复制了查询并在我的测试wordpress数据库上运行了该查询,并且该查询在同一测试套件中以不同的方法正确运行 strong>,效果很好。知道如何解决此错误吗?

1 个答案:

答案 0 :(得分:0)

  

请尝试使用此代码。推荐的方式(如in codex所述):

$wpdb->insert($table_name,array('title'=>'foo'),array('%s'));