我在第16行收到错误。 请帮我弄清楚为什么这条线会出错。 代码如下 非唯一电子邮件不会插入表格中,因此我不了解错误。
<?php
if (isset($_POST['submit']))
{
$conn=mysql_connect("localhost","root","");
if($conn)
{
$sql=mysql_select_db("user",$conn)
or die("database not found".mysql_error());
$fname=$_POST['firstname'];
$lname=$_POST['lastname'];
$email=$_POST['email'];
$age=$_POST['age'];
$check=mysql_query("select email from reg where email = '$email'");
if(!$check) // if email not insert before then insert new value into database
{
$insert="insert into reg values ('','$fname','$lname','$email','$age') ";
$result= mysql_query($insert);
if($result)
{
echo "thank you for information entered";
}
}
else echo "this email already exist !" ;
}
else
die("server not found".mysql_error());
}
答案 0 :(得分:0)
您的代码:
$insert="insert into reg values ('','$fname','$lname','$email','$age') ";
如果第一个字段是PRIMARY数字和AUTOINCREMENT,那么您应该将空字符串''更改为 NULL ,如下所示:
$insert="insert into reg values (NULL,'$fname','$lname','$email','$age') ";
结果为新创建的行获取下一个有效数字
答案 1 :(得分:-1)
我不知道你试图通过这次检查完成什么
$check=mysql_query("select email from reg where email = '$email'");
if ($check)
但我认为如果您想检查某些内容是否与您的选择请求相匹配,请更好地检查返回的行数
$check=mysql_query("select email from reg where email = '$email'");
$num_rows = mysql_num_rows($check);
if ($num_rows==0)
{
$insert="insert into reg values ('','$fname','$lname','$email','$age') ";
$result= mysql_query($insert);
if($result)
{
echo "thank you for information entered";
}
}
else echo "this email already exist !" ;
}
else
die("server not found".mysql_error());
}