适合替换mysql_real_escape_string($ _ GET [“variable”])?

时间:2016-01-05 17:03:15

标签: php mysql

我运营的网站有各种产品页面,其数据使用:

调用
recalculate( event ) {
 this.setState({
    text: event.target.value,
    textLength: event.target.value.length
 });
}

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

1 个答案:

答案 0 :(得分:0)

如果您的查询是:

,您可以使用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