Die @
operator PHP sagt Fehlermeldungen zu unterdrücken, so dass sie nicht angezeigt.
Zum Beispiel mit:
$result = mysql_query("this is an invalid query");
in einer Verwarnung führen würde, dass gezeigt wird, die besagt, dass die MySQL-Abfrage ungültig ist, während
$result = @mysql_query("this is still an invalid query");
wollte nicht.
Beachten Sie jedoch, dass dies eine sehr schlechte Programmierpraxis ist, da es den Fehler nicht verschwinden lässt, es nur versteckt und das Debuggen um ein Vielfaches schlimmer macht, da Sie nicht sehen können, was eigentlich mit Ihrem Code nicht stimmt .
Statt @
verwenden, sollten Sie error_reporting
und display_errors
nur display_errors
in php.ini
es ist eine schlechte, schlechte Sache. Benutze es nie und eliminiere jeden, den du findest. –
Sag nicht "nie". Ich kann an ein bestimmtes Beispiel mit ldap denken, wenn ich die Anmeldeinformationen eines Benutzers teste. Wenn die Anmeldedaten fehlschlagen, wird ein Fehler ausgegeben und kann nicht mit try/catch abgefangen werden. Das einzige, was Sie tun können, ist das Ergebnis zu testen. Während ich normalerweise mit Ihnen einverstanden bin, gibt es Ausnahmen. – Brad