我正在使用$ wpdb连接到一个不同于我的wordpress的数据库,如下所示:
$newdb = new wpdb(DB_NEW_USER, DB_NEW_PASSWORD, DB_NEW_NAME, DB_NEW_HOST);
我需要在数据库中插入多行。 我使用了这个答案的代码:Wordpress $wpdb. Insert Multiple Records。
要运行查询,我使用以下行:
$newdb->query( $newdb->prepare("$query", $values));
当我echo $query
时,这就是结果:(有超过3列,但如果有时候我会缩短)
INSERT INTO table (column1, column2, column3) VALUES ('%s', '%s', '%s')
当我var_dump($values)
时,它返回一个数组,其字符串与我的列相同。
当我运行查询时,出现以下错误:
WordPress database error: [Query was empty]
我尝试以类似的方式从数据库中进行选择并且确实有效,因此我连接到数据库正在运行。
我做错了什么?
如果有人可以帮助我,我会非常感激。
答案 0 :(得分:0)
你确定你的查询是这样的吗?
$metakey = "Harriet's Adages";
$metavalue = "WordPress' database interface is like Sunday Morning: Easy.";
$wpdb->query( $wpdb->prepare(
"
INSERT INTO $wpdb->postmeta
( post_id, meta_key, meta_value )
VALUES ( %d, %s, %s )
",
array(
10,
$metakey,
$metavalue
)
) );