必須の更新 :mysql extはもうないので、Stack Overflowで1000の質問に答えた経験に基づいて、自分のサイトで作成した残りの2つのMySQL APIに対する回答を次に示します:
- mysqliでエラーを報告する方法
- PDOを使用してMySQLに接続する方法 (適切なエラー報告を目的として)
つまり、mysqiの場合、mysqli_connect()
の前に次の行を追加する必要があります。 電話:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
PDOの場合、たとえば、適切なエラーモードを設定する必要があります
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
古いmysqlextの時点で、
mysql_query()
からエラーを取得するには mysql_error()
を使用する必要があります 関数。
したがって、少なくともより高度なクエリハンドラを開発するまでは、常にすべてのクエリをこの方法で実行してください。
$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
現在のクエリの問題は'users'
部。文字列を区切るには一重引用符を使用する必要がありますが、識別子にはバッククォートを使用する必要があります:
SELECT * FROM `users`
開発中にこれらのエラーを確認するには、コードの先頭にこれらの行を追加して、発生したすべてのエラーを確認できるようにします
ini_set('display_errors',1);
error_reporting(E_ALL);
ただし、本番サーバーでは、最初の行の値を1から0に変更する必要があります