WordPress数据库查询在phpMyAdmin中可用,但在代码中不起作用

时间:2019-01-15 作者:user998163

我有一个简单的SQL查询:SELECT * FROM test_table__csv_import_temp_joblist WHERE url =\'https://www.example.com\'

在phpMyAdmin中,它运行良好并返回结果。在WP中,它不返回任何内容:

$sql        = "SELECT * FROM test_table__csv_import_temp_joblist WHERE url =\'https://www.example.com\'";
$res        = $wpdb->query( $sql );
我的问题是什么?

$wpdb->last_query 返回正确的查询。$wpdb->last_error 不返回任何内容。

非常感谢

1 个回复
SO网友:Krzysiek Dróżdż

你的问题是你使用query 方法wpdb 如果你读了它的文档:

查询功能允许您在WordPress数据库上执行任何SQL查询。当需要特定、自定义或其他复杂的SQL查询时,最好使用它。有关更基本的查询,如从表中选择信息,请参见其他wpdb 上述功能,如get_results, get_var, get_row or get_col.

query(字符串)要执行的SQL查询。此函数返回一个整数值,指示受影响/选择的行数SELECT, INSERT, DELETE, UPDATE, 等,用于CREATE, ALTER, TRUNCATEDROP SQL 语句(影响整个表而不是特定行)此函数在成功时返回TRUE。如果遇到MySQL错误,函数将返回FALSE。请注意,由于行查询可能同时返回0和FALSE,因此在检查返回值时应小心。使用标识运算符(===) 检查错误(例如。,false === $result), 以及是否有任何行受到影响(例如。,0 === $result).

你会发现这不是你想要的。

如果要获取查询结果,应使用get_results 方法:

$res=$wpdb->获取结果($sql);