Ich füge Daten in eine MySQL DB ein, falls das Einfügen fehlschlägt, muss ich eine entsprechende Fehlermeldung geben, die das anzeigt. Gemäß meinem Code unten werde ich Echo-ing
die Nachricht Inserted
sein, wenn die Einfügung Erfolg oder Misserfolg war.
Was ich tun möchte, ist, die Inserted
-Nachricht nur dann wiederzugeben, wenn die Dateneinfügung erfolgreich ist, und% cc_de% zurückzugeben, wenn sie fehlschlägt. Wie kann ich meinen Code ändern, um dies zu tun?
Laut dem Buch PHP und MySQL für dynamische Websites (4. Auflage)
Beispiel:
%Vor% Für einfache Abfragen wie INSERT , UPDATE , DELETE usw. (die keine Datensätze zurückgeben), die Variable $r
- kurz für result-wird entweder TRUE oder FALSE sein, abhängig davon, ob die Abfrage erfolgreich ausgeführt wurde.
Beachten Sie, dass "erfolgreich ausgeführt" bedeutet, dass es ohne Fehler ausgeführt wurde; es bedeutet nicht, dass die Ausführung der Abfrage notwendigerweise das gewünschte Ergebnis hatte; Sie müssen dafür testen.
Wie testen?
Während die Funktion mysqli_num_rows()
die Anzahl der von einer SELECT -Abfrage generierten Zeilen zurückgibt, gibt mysqli_affected_rows()
die Anzahl der von INSERT UPDATE oder DELETE Abfrage. Es wird so verwendet:
Im Gegensatz zu mysqli_num_rows()
ist das einzige Argument der Funktion die Datenbankverbindung ( $ dbc ), nicht die Ergebnisse der vorherigen Abfrage ( $ r ).