[英]PHP Variables inside SQL WP Query
我正在使用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替换为'name'或要进行排序的字段,则它可以正常工作,仅当我使用变量传递它时,它才会忽略它。 它仍然显示结果,只是未排序。 这是我调用该函数的方式。
$order = 'name';
$events = select_category_events($category, $order);
正如我已经说过的那样,$ category具有有效的类别,它可以正常工作,只是在将变量用于排序时。 我的语法是否正确,还是应该以其他方式处理?
删除引号,您要按列而不是按字符串排序
ORDER BY $order
没问题,请将您的查询修改为:-
"select * from $table_name where category = '$category' AND active = '1' ORDER BY '$order' ";
如果工作正常,则将其标记为答案,否则,请告知我运行此查询后得到的信息...
您必须使用这样的查询:-
$sql = $wpdb->get_results("select * from $table_name where category = '" . $category . "' AND active = '1' ORDER BY " . $order);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.