webentwicklung-frage-antwort-db.com.de

Wie kann man überprüfen, ob eine MySQL-Abfrage mit der älteren API erfolgreich war?

Wie überprüfe ich, ob eine MySQL-Abfrage erfolgreich ist, außer die()

Ich versuche zu erreichen ...

mysql_query($query);

if(success){
//move file
}
else if(fail){
//display error
}
34
JohnSmith

Dies ist das erste Beispiel auf der Handbuchseite für mysql_query :

$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

Wenn Sie etwas anderes als die verwenden möchten, würde ich trigger_error vorschlagen.

57
Mark Byers

Sie können auch mysql_errno() verwenden. 

$result = mysql_query($query);

if(mysql_errno()){
    echo "MySQL error ".mysql_errno().": "
         .mysql_error()."\n<br>When executing <br>\n$query\n<br>";
}
12
Taha Paksu

Wenn Ihre Abfrage fehlgeschlagen ist, erhalten Sie einen FALSE-Rückgabewert. Andernfalls erhalten Sie eine Ressource/TRUE.

$result = mysql_query($query);

if(!$result){
    /* check for error, die, etc */
}

Solange es nicht falsch ist, geht es Ihnen gut. Danach können Sie Ihren Code fortsetzen.

if(!$result)

Dieser Teil des Codes führt Ihre Abfrage tatsächlich aus.

4
ಠ_ಠ

Die mysql_query-Funktion wird zur Ausführung der MySQL-Abfrage in PHP verwendet. mysql_query gibt false zurück, wenn die Abfrageausführung fehlschlägt. Alternativ können Sie die Funktion mysql_error() verwenden

$result=mysql_query($sql)

oder

die(mysql_error());

Wenn im obigen Code-Snippet die Abfrageausführung fehlschlägt, wird die Ausführung abgebrochen und der Mysql-Fehler während der Ausführung der SQL-Abfrage angezeigt.

2
Rubin Porwal

nur setzen:

or die(mysqli_error());

nach ihrer abfrage

und es wird den Fehler als echo zurückgeben

beispiel

// "Your Query" means you can put "Select/Update/Delete/Set" queries here
$qfetch = mysqli_fetch_assoc(mysqli_query("your query")) or die(mysqli_error()); 



    if (mysqli_errno()) {
        echo 'error' . mysqli_error();
        die();
    }
1
layouteam

wenn Sie MySQLi bind_param verwenden, versuchen Sie, diese Zeile über der Abfrage zu platzieren 

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
0
Yousef Altaf