我正在尝试保存错误消息,但它没有显示错误
$selectquery=mysql_query("select * from employee where eid='$eid' and name='$name' and ssn='$ssn'");
if(mysql_num_rows($selectquery)>0)
{
$state="success";
$sql="insert into pfupload(eid1,name,ssn,state) values('$eid','$name','$ssn','$state')";
$sqlquery=mysql_query($sql);
}
else
{
$state1= mysql_error();
$sql1="insert into pfupload(eid1,name,ssn,state) values('$eid','$name','$ssn','$state1')";
mysql_query($sql1);
}
答案 0 :(得分:1)
您必须将de conection变量传递给mysql_error()
。
此外,您应该使用mysqli_
函数而不是mysql_
。在PHP 5.5.0中不推荐使用所有mysql_
函数。
答案 1 :(得分:1)
首先确保您已启用错误记录:
ini_set('display_errors', 1);
error_reporting(E_ALL);
此外,我会稍微重新组织您的代码以删除重复:
$selectquery = mysql_query("select * from employee where eid='$eid' and name='$name' and ssn='$ssn'");
$state = mysql_num_rows($selectquery)>0 ? 'success' : mysql_error();
$sql1 = "insert into pfupload(eid1,name,ssn,state) values('$eid','$name','$ssn','$state')";
mysql_query($sql1);
如果没有将连接传递给mysql_error()
,它应该有效。如果要仅检查行数,请执行SELECT count(1) FROM employee WHERE eid='$eid' AND name='$name' AND ssn='$ssn'
查询,然后检查计数。它会使您的执行速度更快,内存占用更低,因为您不必将所有结果加载到PHP中。