我听说在 SQL 语句中使用PREPARE
andEXECUTE
会将用户提供的数据清理为无法进行 SQL 注入的数据。这是真的?
我原来的查询是这样的:
$query =
"SELECT * FROM sales_orders
WHERE ksisoldby ILIKE '".$user."'";
这是我将其更改为准备/执行语句的最佳猜测:
<?php
$id = $_POST['id'];
$search = $_POST['user_supplied_search_term'];
PREPARE search_query_function (varchar, varchar) AS
SELECT * FROM sales_orders
WHERE ksisoldby ILIKE '$1'";
EXECUTE search_query_function($id, $search);
?>
这是正确写入/调用的吗?还有一些PDO
我读过的内置 php 对象 ()。我应该使用它们来代替还是结合使用?感谢您对此类广泛问题的帮助。