michal_2
26.12.2009, 11:29:59
Jest taki przykład:
<?php
$link = @mysqli_connect("localhost", "nonexisting_user", "");
if (!$link) {
printf("Can't connect to localhost. Errorcode: %d\n", mysqli_connect_errno
()); }
?>
źródło:
http://php.activeventure.com/function/m/fu...nect-errno.htmlco oznacza @ przy wywołaniu funckji?
kefirek
26.12.2009, 11:48:19
Znak @ przed funkcją powoduje tłumnie Bledu czyli w przypadku Bledu funkcji nie wyświetli ci się błąd.
cojack
26.12.2009, 15:14:12
kefirek w tym problem że nie masz racji, bo błąd mu się wyświetli jeżeli funkcja zwróci błąd. Ot co.
@ tłumi błąd podczas wykonywania funkcji, czyli gdy parser php dojdzie do tej linijki, postara się ją wykonać i okaże się że jest coś nie tak, powinno z buta wywalić błąd na ekranie, Ty znakiem @ tłumisz ten błąd i dopiero sprawdzasz czy błąd występuje w if, i jeżeli tak to wyświetlasz komunikat z błędem.
Ot co cała filozofia.
webdice
26.12.2009, 15:27:31
UP: Sam swoim wpisem negujesz to co piszesz później. Błąd funkcji się nie wyświetli, a to jest w ifie to inna bajka.
Witam,
może kompromisowo ja napiszę, że operator '@' przed nazwą funkcji tłumi wyświetlenie błędu. Błąd będzie, ale PHP nie wypisze w przeglądarce żadnego ze swoich standardowych komunikatów - żeby wiedzieć czy błąd wystąpił trzeba będzie sprawdzić if`em etc.
Pozdrawiam
webdice
26.12.2009, 16:17:32
Cytat(cim @ 26.12.2009, 15:48:39 )

(...) może kompromisowo ja napiszę, że operator '@' przed nazwą funkcji tłumi wyświetlenie błędu. Błąd będzie, ale PHP nie wypisze w przeglądarce żadnego ze swoich standardowych komunikatów - żeby wiedzieć czy błąd wystąpił trzeba będzie sprawdzić if`em etc. (...)
Tylko że to już było napisane. Zamykam.