• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

po co if przy zapytaniu mysql ?

VPS Starter Arubacloud
0 głosów
235 wizyt
pytanie zadane 22 stycznia 2017 w PHP przez eliano Gaduła (3,640 p.)

Witam forumowicze!

mam pytanko, mam taki kod:

if ($result= $connection->query("SELECT ..... '")) {
 // costam z tym robie...
} // brak elsa

i tak sobie pomyślałem że możnaby :

$result = $connection->query("SELECT ... "); // cos z tym robie tylko bez ifa 

i faktycznie działa ! czy to na pewno jest wszystko ok?

komentarz 22 stycznia 2017 przez efiku Szeryf (75,160 p.)
Zajrzyj do dokumentacji..

1 odpowiedź

+2 głosów
odpowiedź 22 stycznia 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)
wybrane 22 stycznia 2017 przez eliano
 
Najlepsza
Pewnie mysqli? Sprawdź sobie w dokumentacji co zwraca query i dowiesz się, że w przypadku niepowodzenia jest to false. Tak więc robiąc taki warunek w przypadku gdy zapytanie się powiedzie możesz wykonać dalsze czynności, a w przypadku gdy nie powiedzie np. wyświetlić błąd czy zrobić coś innego... Tyle że na to w zasadzie są inne lepsze sposoby (na obsługę błędów - wyjątki).
komentarz 22 stycznia 2017 przez eliano Gaduła (3,640 p.)
chodzi o w sytuację gdy w zapytaniu będzie błąd, prawda? Jeśli tak to rozumiem po co ten if.

dziękuję za odpowiedź

ps. Wiem o wyjątkach, acz na razie są dla mnie trochę nieintuicyjne... na pewno zastosuję je gdy nauczę się ich używać
komentarz 22 stycznia 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)

Tak, błąd w zapytaniu, błąd z połączeniem z bazą czy coś tego typu. Dokumentacja mówi po prostu:

Returns FALSE on failure.

Z wyjątkami polecam oswoić się jak nie teraz to chociaż za jakiś czas, fajną obsługę błędów można dzięki nim zrealizować.

komentarz 22 stycznia 2017 przez eliano Gaduła (3,640 p.)

tak, właśnie to znalazłem. http://php.net/manual/en/mysqli.query.php#refsect1-mysqli.query-returnvalues

miałem wątpliwość co do zasadności ifa, ponieważ obsługę błędów połączenia z bazą zrealizowałem wyżej:

$connection = new mysqli($host ,$user ,$pass ,$name);

		if ($connection->connect_errno!=0) {
			echo "błąd: ".$polaczenie->connect_errno;
		} else {
// tu ten if
}

 

komentarz 22 stycznia 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)
Tak, jednak jak sam wyżej napisałeś może np. wystąpić błąd w zapytaniu, więc taki warunek nie jest do końca bezsensowny. Osobiście uważam jednak, że wyjątki sprawdzają się lepiej.
komentarz 22 stycznia 2017 przez eliano Gaduła (3,640 p.)

Osobiście uważam jednak, że wyjątki sprawdzają się lepiej.

dlatego nauczenie się ich jest na wysokim miejscu mojej listy todo...

1
komentarz 22 stycznia 2017 przez efiku Szeryf (75,160 p.)
To może jeszcze zamień naukę mysqli na PDO i będziesz czuł się spełniony :/

Podobne pytania

0 głosów
1 odpowiedź 1,424 wizyt
pytanie zadane 20 sierpnia 2018 w SQL, bazy danych przez lukii1717 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 282 wizyt
pytanie zadane 15 czerwca 2015 w PHP przez Dawid Warduliński Obywatel (1,830 p.)
+3 głosów
4 odpowiedzi 4,259 wizyt
pytanie zadane 10 kwietnia 2015 w PHP przez Hatter Gaduła (3,180 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...