Php 错误:选择来自电子邮件地址为“”的用户的电子邮件dhruv@gmail.com'在进行查询时获取此错误
嘿,我正在做一份登记表,这是我的代码Php 错误:选择来自电子邮件地址为“”的用户的电子邮件dhruv@gmail.com'在进行查询时获取此错误,php,mysql,input,Php,Mysql,Input,嘿,我正在做一份登记表,这是我的代码 if (isset($_POST['submit'])) { $GST = $_POST['GST']; $email = $_POST['email']; $contact = $_POST['contact']; $whatsapp = $_POST['whatsapp']; $adhaar = $_POST['adhaar']; $username = $_POST['username'];
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);
}
}
}
?>
然后它显示没有错误,我无法理解发生了什么。对于MySQL,字符串比较与其他代码不同。基本上,您不能使用=来做您认为它可以做的事情。当这种情况发生时,MySQL会用它做其他事情 请阅读MySQL中的字符串操作手册以获取更多帮助,但您希望使用关键字LIKE并在电子邮件地址上精确匹配,例如: 哪里有像“$email”这样的电子邮件 您可能需要使用找到的PHP MySQL转义字符串函数过滤@ 注* 您的代码当前易受MySQL注入攻击。接受用户输入并直接输入数据库查询是非常危险的,是一种不好的做法
阅读更多关于如何防止它的内容。为什么会这样?这是我刚才讨论的部分,您的开场白/段落:对于MySQL,字符串比较与其他代码不同。基本上,你不能用=去做你认为它能做的事这就是我的问题所在。他们当前的查询有效,其中email='$email';-那么,你能再解释一下吗?最重要的是,它不能回答/解决问题。你没有看过他们剩下的代码吗?请看我用以结束它的复制品。@FunkFortyNiner您的第二条评论比第一条评论说的要多得多。这是很讽刺的,因为你对我没有详细说明的回答投了反对票。进一步看,查询可能是正确的,问题可能在于未显示的代码,如初始化空值的注释。您非常容易受到SQL注入攻击,如果您尚未受到攻击,您将受到黑客攻击。使用参数化查询可完全避免此问题。所有查询中必须引用字符串文本变量,但不包括预处理语句方法。
$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";
}