在使用LIKE语句创建PDO参数化查询时,您需要使用预处理语句和参数化查询来防止SQL注入攻击。以下是一个示例:
$conn = new PDO("mysql:host=localhost;dbname=myDB", "username", "password");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM table_name WHERE column_name LIKE :search_term");
bindParam()
方法将占位符与实际值绑定。$search_term = "%" . $_POST["search"] . "%";
$stmt->bindParam(':search_term', $search_term, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
echo "ID: " . $row["id"] . " - Name: " . $row["name"] . "<br>";
}
在这个示例中,我们使用了LIKE语句来搜索包含特定字符串的记录。我们使用PDO参数化查询来防止SQL注入攻击,并使用占位符和bindParam()
方法将搜索词与实际值绑定。最后,我们执行查询并获取结果。
领取专属 10元无门槛券
手把手带您无忧上云