搜索文本中的分页搜索文本以php中的单引号开头

时间:2014-03-04 07:28:02

标签: php pagination

我正在研究搜索结果的分页。我在下面提到链接,当搜索文本以单引号开头时,我无法传递值。 How get post value in pagination。 你能帮我么.. 感谢

1 个答案:

答案 0 :(得分:0)

这是因为单引号嵌入到文字字符串$sql中。它会暂停查询,这很危险,因为黑客可以执行所谓的SQL注入 - > https://www.acunetix.com/websitesecurity/sql-injection/

无论如何,mysql扩展已被弃用,这意味着它不再受支持和维护。你有两个简单的选择:mysqli或PDO。我个人建议使用PDO - > http://cz1.php.net/PDO。转换代码很容易。

使用PDO,您可以将输入绑定到某些字段:

$sql="Select count(*) from  FIMTRN_Memorial where FirstName like :search";
$sql = $database->prepare($sql);
$sql->execute(array(":search" => "%".$_SESSION['searchchar']."%"));

$result = $sql->fetchAll(PDO::FETCH_ASSOC);

我希望我能帮忙!

<强>更新 使用上面的参数化查询,您的搜索字符串不能包含百分号,因为这将充当外卡字符。

更新2: 我不知道您是否注意到$_GET{'page'}在上一个答案中应该是$_GET['page']