错误:从用户那里选择电子邮件= dhruv@gmail.com在查询时收到此错误

嘿,我正在填写注册表,这是我的代码

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);
}

}



}

   ?>

并且我收到此错误错误:从用户那里选择电子邮件,电子邮件='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";
}

然后它没有显示错误,我无法理解正在发生的事情。

htkb07 回答:错误:从用户那里选择电子邮件= dhruv@gmail.com在查询时收到此错误

在MySQL中,字符串比较不能像其他代码一样工作。基本上,您不能使用=来完成自己认为的工作。发生这种情况时,MySQL会对其进行其他处理。

阅读this手册,了解MySQL中的字符串操作以获取更多帮助,但是您想使用关键字LIKE并在电子邮件地址上完全匹配,例如:

WHERE email LIKE '$email'"

您可能需要使用here找到的PHP MySQL转义字符串函数来过滤@

注意*

您的代码当前容易受到MySQL注入的攻击。接受用户输入并直接输入数据库查询是非常危险的,而且是一种不良做法。

详细了解here,以了解如何防止它发生。

本文链接:https://www.f2er.com/3164407.html

大家都在问