我正在上传一个表单并将其数据插入 MySQL 中的一个表中。主键是唯一必须唯一的字段。在以下代码中,我检查错误号是否为 1062(重复条目)并针对该情况显示自定义消息。但是当我在表中输入唯一数据时,有时我仍然会收到错误消息。奇怪的是,它只是偶尔出现,但我 100 确定这些值不一样......
$success = mysqli_stmt_execute( $stmt );
$errorCode = mysqli_errno( $con );
if ($success) {
move_uploaded_file( $_FILES['photo']['tmp_name'], $uniquePath);
?>
<div id="response">
<p>Success! The user has been added to the database</p>
</div>
<?
} else if ($errorCode == 1062) {
?>
<div id="response">
<p>
The user could not be added to the database.
The ID already exists!
</p>
</div>
<?
} else {
?>
<div id="response">
<p>
The user could not be added to the database.
MySQL error code: <? echo $errorCode ?>
</p>
</div>
<?
}
?>
</body>
</html>
SQL 相关的代码如下所示:
$sql = "INSERT INTO users ( id, photo_path) VALUES (?, ?)";
$stmt = mysqli_prepare( $con, $sql );
mysqli_stmt_bind_param( $stmt, 'is', $_POST['id'], $uniquePath);
我在这里忽略了一些简单的事情吗?