【发布时间】:2018-06-18 05:47:13
【问题描述】:
我根据用户选择在 SQL 查询的 ORDER BY 子句中使用不同的值。如何使用 mysqli_real_escape_string() 函数转义这个选定的值?
例如,url如下:
localhost/person/person_listing.php?sort_by=date_of_birth
基于此我正在使用:
if (isset($_GET['sort_by'])) {
$sort_by = trim($_GET['sort_by']);
if (!empty($sort_by)) {
$order_by_sql = " ORDER BY $sort_by";
}
}
问题是,逃避这种类型的 SQL 附加组件的最佳方法是什么?整个 ORDER BY 子句可以一次转义,还是每个值都必须单独转义?
【问题讨论】: