$wpdb – was gibt es bei einem Fehler zurück?

Lesezeit: 2 Minuten

Benutzeravatar von Chin
Kinn

Ich bin mir nicht sicher, ob diese Frage WordPress-spezifisch ist oder eher mit mySQL zusammenhängt. Ich versuche herauszufinden, was zurückgegeben würde, wenn die Transaktion mit der Datenbank fehlschlägt. Im folgenden Szenario aktualisiere ich eine Zeile. Wenn keiner der Werte geändert wird, wird false zurückgegeben. Wenn Änderungen vorgenommen werden, wird true zurückgegeben. Wie kann ich feststellen, ob die Transaktion fehlgeschlagen ist?

$result = $wpdb->update($this->table_name, $dbfields, $where);
if($result == false)//do fail - this is not really a fail!
if($result == true)//do success

Alle Hinweise geschätzt.

Schauen Sie rein wp-includes\wp-db.php. Die Header-Kommentare der Update-Funktion von wpdb sagen:

 * @return int|false The number of rows updated, or false on error.

Ich würde also vermuten, dass Sie den Unterschied zwischen finden möchten false (ein boolescher Wert, der einen Fehler anzeigt) und 0 (Eine Ganzzahl, die angibt, dass keine Zeilen zurückgegeben wurden.)

Wenn Sie mit vergleichen ==, false und 0 sind gleich. Sie müssen daher die verwenden === -Operator, um zu prüfen, ob Sie es mit dem booleschen Wert zu tun haben false oder die Ganzzahl 0.

Versuchen Sie also Folgendes:

if ($result === false) // Fail -- the "===" operator compares type as well as value
if ($result === 0) // Success, but no rows were updated
if ($result > 0) // Success, and updates were done. $result is the number of affected rows.

Sehen das PHP-Handbuch für weitere Informationen zum Vergleichsoperator ===.

  • Gibt es eine Möglichkeit, mehr Informationen über die Fehlerursache und die Fehlerbeschreibung zu erhalten?

    – Rafal Sroka

    1. Juli 2015 um 12:02 Uhr

  • @Bearwithit Versuchen Sie es zu überprüfen $wpdb->last_error. Das ist eine öffentliche (String-)Variable, die eine Beschreibung des letzten Fehlers enthalten sollte.

    – Matt Gibson

    1. Juli 2015 um 12:58 Uhr

  • Ich werde das versuchen. Vielen Dank!

    – Rafal Sroka

    1. Juli 2015 um 13:17 Uhr

  • Ich danke dir sehr!

    – Blaue Straßenbahn

    18. März 2019 um 5:59 Uhr

1401620cookie-check$wpdb – was gibt es bei einem Fehler zurück?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy