我运行的网站上有各种产品页面,使用以下数据来调用这些数据:
$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。