分页问题[PHP&;is_numeric]
我给出了一个分页问题:分页问题[PHP&;is_numeric],php,pagination,Php,Pagination,我给出了一个分页问题: $num_por_pagina = 5; $paginac = $_GET[paginac]; if (!$paginac) { $paginac = 1; } 为了避免PHP/SQL注入,我只希望使用整数 例如,访问: 或 结果,您的SQL语法出现错误;查看与MySQL服务器版本对应的手册,以了解第7行“4.6,2”附近使用的正确语法 发件人: 访问www.mysite.com/index.php?paginac=3.3或www.mysite.com/ind
$num_por_pagina = 5;
$paginac = $_GET[paginac];
if (!$paginac) {
$paginac = 1;
}
为了避免PHP/SQL注入,我只希望使用整数
例如,访问:
或
结果,您的SQL语法出现错误;查看与MySQL服务器版本对应的手册,以了解第7行“4.6,2”附近使用的正确语法
发件人:
访问www.mysite.com/index.php?paginac=3.3或www.mysite.com/index.php?paginac=3,3
由此产生的错误,此页未处于活动状态。您对
的测试似乎是数值()
仍然允许编写和执行SQL语句,这会引发错误
确保如果GET变量不是数字,则不会执行查询
此外,在访问关联数组索引时使用引号。如果您通过paginac,请:
$paginac = $_GET['paginac'];
$paginac = $_GET['page'];
如果您正在传递页面,请获取:
$paginac = $_GET['paginac'];
$paginac = $_GET['page'];
我会这样做:
if ($paginac < 2)
{
$paginac = 1;
}
if($paginac<2)
{
$paginac=1;
}
如果变量是字符串,PHP会将其强制转换为1,因此此方法会将任何文本强制转换为1,并有助于防止出现负数引号
$paginac = $_GET["paginac"];
也
您将“page”作为get参数传递,捕获该参数而不是“paginac”
如果您在mysql中遇到错误,请也发布该错误的代码。如果您知道您将收到一个数字(或者应该收到),您可以将其作为第一道防线:
$paginac = (int) $_GET['page'];
页面
表示一个常量。您应该对键使用引号
如果收到非数字字符串,则只需请求第0页即可
第二,你需要正确地阅读,而不仅仅是在大多数情况下使用一些技巧来纠正错误。试试看
$paginac = intval($_GET[paginac]);
请发布引发错误的SQL查询(显然会混淆任何敏感数据)。