Display-Fehlermeldung in php für MYSQL-Fehler duplizieren
Ich bin mit UNIQUE Constraint
in meiner Tabelle zwei Spalten, um zu verhindern, dass doppelte Zeilen. Wenn ich versuche eine Zeile einfügen mit 2 Spalten bekomme ich
Einen Datenbank-Fehler Ist Aufgetreten-Fehler
Anzahl: 1062Doppelter Eintrag '62-88' für Schlüssel
'Abo'INSERT INTO
subscriptions
(user_id
,subscribed_to
,date
)
WERTE ('62', '88', '2011-07-11
19:15:13')Mit dem Namen:
C:\wamp\www\mysite\system\database\DB_driver.phpLinie Anzahl: 330
Wie kann ich wieder ein php-Fehler, e..g Already subscribed!
anstatt die mysql-Fehler???
- mögliche Duplikate von Handle-Fehler nach doppelten Einträgen - PHP-MySQL
Du musst angemeldet sein, um einen Kommentar abzugeben.
Call
mysql_errno()
nach Ihremmysql_query()
und überprüfen1062
.Hinweis: Es ist eine mehr Allgemeine/intuitive Lösung für die Abfrage der Datenbank ersten. Siehe Antwort von Manocho.
mysql_errno()
nach meineminsert
Abfrage (in meinem Modell) und das sollte zurück1062
? Dann würde ichif ($query == 1062)
- display Fehler???mysql_errno()
zurück1062
, nicht die Abfrage.Denke ich, müssen Sie eine Abfrage ausführen, die Sie manuell überprüfen, ob der Eintrag bereits in der Datenbank. so etwas wie:
SELECT COUNT(*) FROM subscriptions WHERE (user_id = '62' AND subscribed_to = '88')
. Wenn die Anzahl der zurückgegeben wird, > 0, dann wieder den Fehler, aber Sie wollen, dass es angezeigt wird.Mit der 3. link, vergleichen Sie die mysql error oder mysql errno, um die Liste der Fehler, und wenn die Bedingung erfüllt ist, bieten Sie Ihr alternativen Fehlermeldung.
Um das Problem zu lösen, können Sie dies tun:
versuchen, diesen code :