HI,
我无法弄明白这一点,我正试图从MySQL中提取记录,按逆时间顺序排序并将结果限制为每页四个(并使用分页来组织页面)。它目前正在返回此错误:
致命错误:第126行/Users/allan/Sites/4is_site/casestudylist.php中的SQL
$limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page;
$query = "SELECT * FROM studies ORDER BY date desc WHERE niche = '{$_GET['niche']}' $limit";
分页一直很好,刚才我已经尝试添加ORDER BY,我遇到了问题。
答案 0 :(得分:8)
该语法不正确。这应该有用。
$escapedNiche = mysql_real_escape_string($_GET['niche']);
$query = "SELECT * FROM studies WHERE niche = '$escapedNiche' ".
"ORDER BY date DESC $limit";
供将来参考 - SELECT Syntax
答案 1 :(得分:0)
BTW要逃避$ _GET ['niche']:
$clean_niche = mysql_escape_string($_GET['niche']);
$limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page;
$query = "SELECT * FROM studies "
."WHERE niche = '{$clean_niche}' "
."ORDER BY date desc $limit";
这将有助于通过转义$ _GET ['niche']中的字符来保护您免受SQL注入攻击。
为了提高安全性,请考虑使用绑定参数(google'em)和/或库函数(如Zend DB)来访问数据库。