【发布时间】:2019-11-04 18:45:44
【问题描述】:
嘿,我正在填写注册表,这是我的代码
if (isset($_POST['submit'])) {
$GST = $_POST['GST'];
$email = $_POST['email'];
$contact = $_POST['contact'];
$whatsapp = $_POST['whatsapp'];
$adhaar = $_POST['adhaar'];
$username = $_POST['username'];
$password = $_POST['password'];
$pan = $_POST['pan'];
$district = $_POST['district'];
// Define variables and initialize with empty values
$sql = "SELECT email FROM users WHERE email = '$email'";
$result = mysqli_query($con, $sql);
if (mysqli_num_rows($result) == 1) {
echo "string";
}else{
$sql2 = "INSERT INTO users (username, password,email,district,gst,watsapp,adhaar,contact,pan) VALUES ($username, $password,$email,$district,$GST,$whatsapp,$adhaar,$contact,$pan)";
if (mysqli_query($con, $sql2)) {
$customername = $_POST['product_name'];
foreach ($customername as $key => $value) {//start ho rah hai
$sql = "INSERT INTO center (id) VAlues ('$value')";
if (mysqli_query($con, $sql)) {
echo "string";
}
}// khatam ho rha hai ye
}else{
echo "Error: " . $sql . "<br>" . mysqli_error($con);
}
}
}
?>
我收到此错误错误:SELECT email FROM users WHERE email = 'dhruv@gmail.com'
如果我不使用此代码
$customername = $_POST['product_name'];
foreach ($customername as $key => $value) {//start ho rah hai
$sql = "INSERT INTO center (id) VAlues ('$value')";
if (mysqli_query($con, $sql)) {
echo "string";
}
然后它显示没有错误我无法理解发生了什么。
【问题讨论】:
-
您对 SQL 注入攻击持开放态度,如果您还没有受到攻击,您将被黑客入侵。使用参数化查询可以完全避免这个问题。
-
字符串文字变量必须在所有查询中引用,但不包括准备好的语句方法。