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

You're using mysqli_query() (mind the 'i') but then you check the error code with the regular/deprecated mysql_errno() function. In addition you need to pass the connection to use ($con).

Try this:

$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 に答える