php – PDO准备语句

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – PDO准备语句脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以快速澄清一下这个,只是我正在进行的讨论:

以此为例

$conn->PRepare ( 'SELECT * From table WHERE id = "' . $_POST['id'] . '"' );

不阻止sql注入,您必须在放入prepare语句之前绑定参数或清理值吗?或者我错了,只使用准备就可以了?

解决方法

准备好的语句使用占位符来插入值.您的问题中的代码段已经将值插入到查询中,因此容易进行sql注入.

以下伪代码突出显示准备好的语句:

$stmt = $conn->prepare('SELECT * From `table` WHERE `id` = ?');
$stmt->execute($_POST['id']);

在这个例子中,这个“代码”背后的逻辑将负责正确引用$_POST [‘id’]中的任何内容并替换问号?接着就,随即.您可能还会遇到以下占位符:

$stmt = $conn->prepare('SELECT * FROM `table` WHERE `id` = :id');
$stmt->execute(array(
    'id' => $_POST['id']
));

但请注意,准备好的语句不会减轻您在将其传递给(My)sql语句之前验证用户提供的输入的责任:如果id应该一个整数,则只接受整数作为输入.

脚本宝典总结

以上是脚本宝典为你收集整理的php – PDO准备语句全部内容,希望文章能够帮你解决php – PDO准备语句所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。