mysql_error()没有打印错误

时间:2014-04-18 11:59:57

标签: php mysql web

我是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

这里的问题是什么?

1 个答案:

答案 0 :(得分:3)

您正在使用mysqli_*,因此您需要使用mysqli_error()。 mysql和mysqli库兼容。

echo mysqli_error($con);