如何使用 $wpdb->query 在 WordPress 中一次 运行 多个查询
How to run multiple queries at once in WordPress using $wpdb->query
我正在尝试替换 WordPress 上更多表格中的单词,为了提高效率,我制作了一个更新查询列表并希望一次性 运行 它们,但出于某种原因它说:
*WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue')' at line 2]
UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue'); UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue');*
代码:
global $wpdb;
echo $wpdb->query("
UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue');
UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue');
");
如果我删除第二个查询,它会按预期 运行s。我在这里遗漏了什么吗?
使用另一个数据库适配器或扩展。在大多数情况下,如果您需要 运行 迁移,例如创建表和插入许多行,如果您不使用 wpdb(因此必须创建另一个 DB 连接),这不是问题,因为这只是很少会发生。此外,由于 dbDelta() 所做的疯狂转换,找到一种方法 运行 原始查询可能更可靠。
mysqli_multi_query() 是 mysqli(未过时)扩展的一个函数,可以轻松地一次 运行 多个语句。
PDO 可以 运行 在 emulation mode.
中进行多次查询
我正在尝试替换 WordPress 上更多表格中的单词,为了提高效率,我制作了一个更新查询列表并希望一次性 运行 它们,但出于某种原因它说:
*WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue')' at line 2]
UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue'); UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue');*
代码:
global $wpdb;
echo $wpdb->query("
UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue');
UPDATE dev_options SET option_value = REPLACE(option_value, 'Red', 'Blue');
");
如果我删除第二个查询,它会按预期 运行s。我在这里遗漏了什么吗?
使用另一个数据库适配器或扩展。在大多数情况下,如果您需要 运行 迁移,例如创建表和插入许多行,如果您不使用 wpdb(因此必须创建另一个 DB 连接),这不是问题,因为这只是很少会发生。此外,由于 dbDelta() 所做的疯狂转换,找到一种方法 运行 原始查询可能更可靠。
mysqli_multi_query() 是 mysqli(未过时)扩展的一个函数,可以轻松地一次 运行 多个语句。 PDO 可以 运行 在 emulation mode.
中进行多次查询