我是php-mySQL的初学者。我的代码如下 -
<?php
echo "test_script running!!<br/>";
$con=mysqli_connect("localhost","root","root","netHealth");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
echo "Connection established <br/>" ;
for($i=1;$x<4;$i+=1)
{
$sql1="INSERT INTO `netHealth`.`role_perm` (`role_id` ,`perm_id`) VALUES ($i, '1')";
$sql2="INSERT INTO `netHealth`.`role_perm` (`role_id` ,`perm_id`) VALUES ($i, $i+1)";
try {
$res1=mysqli_query($con,$sql1);
if (!$res1) throw new Exception("mysql Error");
} catch(Exception $e) {
echo $e->getMessage();
echo mysql_error();
break;
}
try {
$res2=mysqli_query($con,$sql2);
if (!$res2) throw new Exception("mysql Error");
} catch(Exception $e) {
echo $e->getMessage();
echo mysql_error();
break;
}
}
?>
错误很好,因为列表项不能在role_perm表中重复。但mysql_error()函数不会返回任何错误描述。输出如下 -
test_script running!!
Connection established
mysql Error
这里的问题是什么?
答案 0 :(得分:3)
您正在使用mysqli_*
,因此您需要使用mysqli_error()
。 mysql和mysqli库不兼容。
echo mysqli_error($con);