【发布时间】:2014-01-21 09:18:23
【问题描述】:
我正在使用 wordpress,并且创建了一些自定义函数。它们工作正常,现在我正在向查询中添加排序。
function select_category_events($category, $order) {
global $wpdb;
$table_name = $wpdb->prefix."table";
$sql = $wpdb->get_results("select * from $table_name where category = '" . $category . "' AND active = '1' ORDER BY '" . $order . "'");
return $sql;
}
如果我删除 ORDER BY 并且只有:
$sql = $wpdb->get_results("select * from $table_name where category = '" . $category . "' AND active = '1'");
它工作正常。如果我用“名称”或要排序的字段替换 $order,它工作正常,只是当我使用变量传递它时它只是忽略它。它仍然显示结果,它们只是未排序。这是我调用该函数的方式。
$order = 'name';
$events = select_category_events($category, $order);
$category 有一个有效的类别,正如我所说,它工作正常,只是当变量被用于排序时。我的语法不正确,还是我应该以不同的方式处理这个问题?
【问题讨论】:
-
去掉引号,你想按列排序,而不是按字符串
ORDER BY $order -
是的!做到了!如果您可以将其放入答案中,我愿意接受。感谢您的帮助。
标签: php mysql sql wordpress content-management-system