有效利用帶有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中文網其他相關文章!