我运行的网站上有各种产品页面,使用以下数据来调用这些数据:

$ProductDescription= mysql_real_escape_string($_GET["ProductDescription"]);


最近,它已停止工作-我假设由于安全漏洞,我的服务器已停止允许它运行(如果只是手动输入var $ ProductDescription,则该页面可以正常运行)。所以我的问题就是,从URL中提取变量的最佳代码是什么?我已经看到有关MySQLi的一些模糊建议,但是我真的不知道这是什么或如何使用它。

最佳答案

如果查询为:,可以使用MySQLi和带占位符的预处理语句:

$sql = "SELECT * FROM tablename WHERE description='".$productDesctiption."'";


您可以将其转换为:

$sql = "SELECT * FROM tablename WHERE description=?";


然后使用mysqli准备该语句并执行它:

$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $ProductDescription);

$ProductDescription=$_GET["ProductDescription"];
$stmt->execute();

...retrieve your data...

$stmt->close();
$conn->close();


看看这个documentation

09-26 10:12