gpt4 book ai didi

php - 如果使用准备好的 PHP/MySQL 查询,我是否需要清理输入?

转载 作者:可可西里 更新时间:2023-10-31 23:03:13 25 4
gpt4 key购买 nike

给定以下代码,我是否需要转义并清理 $city

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$city = "Amersfoort";

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

/* bind parameters for markers */
$stmt->bind_param("s", $city);

/* execute query */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($district);

/* fetch value */
$stmt->fetch();

printf("%s is in district %s\n", $city, $district);

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

使用准备好的查询时是否需要清理任何输入?

最佳答案

不,您不必为了注入(inject)保护而逃避它或对其进行 sanitizer 。不过,对于其他特定于应用程序的内容,您可以对其进行清理。

前一段时间我有一个类似的问题:

mysqli_stmt_bind_param SQL Injection

关于php - 如果使用准备好的 PHP/MySQL 查询,我是否需要清理输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4752026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com