2

如果我使用此代码查询数据库,我会按预期得到一个包含 4 个对象的数组。

global $wpdb;
$rows = $wpdb->get_results("SELECT * FROM ppm_playlists");
var_dump($rows); die();

但是如果我使用它进行查询,我会得到一个空数组。

global $wpdb;
$rows = $wpdb->get_results("SELECT * FROM ppm_playlists ORDER BY sort-order ASC");
var_dump($rows); die();

在文档中缺少的数据库类中使用“ORDER BY”是否有“技巧”?

提前致谢。

4

2 回答 2

2

查询失败的原因是因为sort-order被解释为sort - order(从名为的列中减去名为order的列sort)。如果您希望在列名中保留连字符,则必须将列包装在反引号中:

SELECT * FROM ppm_playlists ORDER BY `sort-order` ASC;

但是请注意,不建议在列名中使用连字符。

于 2013-04-07T16:49:55.307 回答
1

替换sort-order ASCsort_order ASC

当遇到此类问题时,将有问题的查询放入 phpMyAdmin 以定位问题会有所帮助。

于 2013-04-07T16:48:31.533 回答