、そう簡単に行く...ここに新しいとプログラミングには本当に緑Mysql_error()PHP
私は私があるため、重複するレコードエラーで失敗しているINSERT
を持って発見しました。私は、エラー#1062がポップアップしたリテラルを持つMySQLコンソールでクエリを実行することによってそれを理解しました。
私が理解したいことは、mysql_error()
またはmysql_errno()
が私のPHPスクリプトでこのエラーを検出しなかった理由です。
以下は、私が行ったことの一般的な設定です。私は、DB接続data_insert()
function data_insert($var1, $var2, $var3, $var4){
$db = db_connect();
$query = "INSERT INTO exampletable (id, id_2, id_3, id_4)
VALUES ('$var1', '$var2', '$var3', '$var4')";
$result = $db->query($query);
if (!$result)
{
echo ('Database Error:' . mysql_error());
}
else
{
echo "Data added to db";
}
}
を呼び出すPHPファイルに送信するフォームを持っている:私は取得しています
function db_connect()
{
$result = new MySQLi('localhost', 'root', 'root', 'dbname');
if (!$result)
throw new Exception('Could not connect to database server');
else
return $result;
}
結果は次のとおりです。
Database Error:
PHPエコー「データベースエラー: "INSERT
は失敗しますが、後続のMySQLエラー情報はエコーされません。正直なところ、私は何を見ているのか正確には分かっていませんが、他の質問を読んで、php.iniファイルをダブルチェックしてエラー処理とE_ALLを確認しました。display_errorsは適切に設定されていますこの場合重要です)。
私の論理には、リンクリソースmysql_error()のスコープのようなものがありますか?
ご協力いただきありがとうございます。私はこれが恥ずかしいほど明白であることを期待しています。
私は上記のXSSとセキュリティの予防措置と一様例外処理が欠落していることを知っています。しかし、赤ん坊のステップ。議論のために簡略化してあります。
を使用する必要があります。ありがとう! – PHPeer