mysql中的错误处理未捕获正确的错误

时间:2018-10-23 21:21:08

标签: php mysql mysqli

我有一个相对简单的MySQLi多重查询。

查询只是将数据添加到4个表中。

我现在正在尝试进行一些错误处理,以便在重复时给我一条消息,并提出以下建议:

if ($conn->multi_query($sql) === TRUE) {
    echo "Property Added: '$est_name'";
} else if (mysqli_errno() !== 1062) {
  print 'Error - Duplicate Entry!';
}
else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

尽管我认为它起初是可以的,但我很快发现了“错误-重复条目!”。正在捕获所有错误,甚至不是重复的错误!

接缝要发生的另一件事是,如果我故意在3个查询语句中的任何一个上引起错误,则在第一个(即错字)之后,它将继续查询,而我没有得到任何错误-我是我不确定这些问题是否相关!

如果重复,如何建立错误处理? (我的查询问题与“错误”无关吗?)

我的查询如下:

$sql = "INSERT INTO Table1 (fname, lname) VALUES ('$fname', '$lname');";

$sql .= "SELECT @get_ID := LAST_INSERT_ID();";

$sql .= "INSERT INTO Table2 (id, street_address ) VALUES (@get_ID, '$street_address');";

$sql .= "INSERT INTO Table3 (id, gender) VALUES (@get_ID, '$gender');";

$sql .= "INSERT INTO Table4 (id, rating) VALUES (@get_ID, '$rating');";

1 个答案:

答案 0 :(得分:-1)

我犯下的严重错误忘记添加Collections.sort,并重新整理了声明。

$conn

看起来像另一个问题,但是与执行查询无关,因为我仍然遇到问题!