我正在编写一个函数,从数据库中的自定义表中查询一些信息。似乎我无法查询所需领域的数据库。
function ch_details_from_id($id) {
global $wpdb;
$details = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "ch_guests WHERE key = \'" . $id . "\'", ARRAY_A);
return $details;
}
$id当前为“001”。如果搜索表中的任何其他字段,我会得到预期的结果,但在该字段上不会返回任何结果。
如果我在phpMyAdmin中运行完全相同的查询,它就可以正常工作。
最合适的回答,由SO网友:Arpita Hunka 整理而成
这里是列名的问题。您正在使用列key 在查询中,它是mysql中的默认关键字/索引。
要解决此类问题,只需在查询中使用“Grave accent(`)”符号作为列名,无需更改列名
$details = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "ch_guests WHERE `key` = \'" . $id . "\'", ARRAY_A);
运行上面的查询,这对我有用,所以我相信也会对你有用。