0

有人可以帮我处理我的 SQL 查询/php 处理程序吗?

我正在尝试自定义 mysql_errno() 1022 的错误消息,使其显示“序列号已存在”,而不是“错误:密钥 'ser' 的重复条目 'TEST'”。

我尝试将处理程序更改为以下内容,但没有任何乐趣。

$result = mysqli_query($con, $sql);
if ($result === FALSE) {
    if (mysql_errno() == 1022) {
        die("Username already exists");
    } else {
        die("Error:" . mysql_error($con));
    }
}

我的代码:

<?php
// Create connection
$con = mysqli_connect("127.0.0.1", "user", "password", "assets");

// Check connection
if (mysqli_connect_errno($con))
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql="INSERT INTO barts (project, system, ser, assets, tdate) VALUES ('$_POST[element_3]','$_POST[element_4]','$_POST[element_1]','$_POST[element_2]','$_POST[tdate]')";

if (!mysqli_query($con,$sql))
{
    die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?>
4

1 回答 1

0

您正在使用mysqli_query()(注意“i”),但随后您使用常规/不推荐使用的mysql_errno()函数检查错误代码。此外,您需要通过连接才能使用 ( $con)。

尝试这个:

$result = mysqli_query($con, $sql);
if ($result === FALSE) {
    if (mysqli_errno($con) == 1022) {
        die("Username already exists");
    } else {
        die('Error:' . mysqli_error($con));
    }
}
于 2013-08-16T10:54:52.710 回答