【发布时间】:2018-11-16 02:45:47
【问题描述】:
$firstName = mysqli_real_escape_string($dbcon, $_POST['newFirstName']);
$lastName = mysqli_real_escape_string($dbcon, $_POST['newLastName']);
$emailAddress = mysqli_real_escape_string($dbcon, $_POST['newEmailAddress']);
$sqlQuery = "INSERT INTO admins (firstname, lastname, email) VALUES ('$firstName','$lastName','$emailAddress')
ON DUPLICATE KEY UPDATE firstname ='".$firstName."' lastname='".$lastName."' email='".$emailAddress."'";
我的问题在最后一行。 AFAIK 你必须为 PHP 使用双引号才能将你的变量实际插入到字符串中,但无论我使用什么引号都会出错。插入变量的正确语法是什么?
【问题讨论】:
-
你得到什么错误?
-
另请注意,即使您转义了输入,您仍然容易受到 sql 注入的攻击。始终准备声明! stackoverflow.com/questions/22304930/…
-
您的脚本对SQL Injection Attack 甚至if you are escaping inputs, its not safe! 都是开放的,在
MYSQLI_或PDOAPI 中使用prepared parameterized statements