有效利用带有 LIKE '%{Var}%' 的预准备语句
在 SQL 查询中使用经过净化的用户输入时,建议使用使用准备好的语句来降低 SQL 注入攻击的风险。但是,在准备好的语句中使用 LIKE '%{Var}%' 模式可能会带来挑战。
不正确的方法:
以下语法将生成错误:
$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
$sql = 'SELECT * FROM `users` WHERE username LIKE %{?}% ';
正确方法:
要在准备好的语句中正确使用 LIKE '%{Var}%',请按照以下步骤操作:
$likeVar = "%" . $ yourParam . "%";
$ stmt = $ mysqli -> prepare('SELECT * FROM REGISTRY WHERE name LIKE ?');
$stmt -> bind_param('s', $likeVar);
$stmt -> execute();
解释:
通过执行这些步骤,您可以在 SQL 查询中安全地使用 LIKE '%{Var}%',同时维护安全最佳实践。
以上是如何在 SQL 中的预准备语句中安全地使用 LIKE '%{Var}%'?的详细内容。更多信息请关注PHP中文网其他相关文章!