Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Instrukcja if i dziwny problem
PawelC
post
Post #1





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Witam,
Zastanawia mnie jedna rzecz, mam taki oto kod:
  1. #Update URL
  2. public function update($url, $id)
  3. {
  4. $result=$this->db->prepare("UPDATE url SET adres=:url where id=:id limit 1");
  5. $result->bindParam(':url',$url, PDO::PARAM_STR);
  6. $result->bindParam(':id',$id,PDO::PARAM_INT);
  7. if(!$result->execute()){
  8. throw new Exception('Adres nie został zaktualizowany!');
  9. }
  10. }

Idąc na logikę jeżeli wrzucę to w instrukcję if czyli
  1. if($http->update($url, $id))
  2. {
  3. echo "Ok";
  4. }else{
  5. echo "Error";
  6. }

Po wykonaniu i poprawnej aktualizacji powinno mi pokazać OK, ale mimo to pokazuje Error i oczywiście aktualizuje dany rekord. Nie wiem czy ja coś pomieszałem, czy czegoś tu nie rozumiem.

Ten post edytował ExPlOiT 20.08.2017, 11:34:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Jesli twoja metoda, rzuca wyjatkiem, to zwracanie true tutaj tez nie ma wiekszego sensu. Dlatego caly czas ci mowie, ze twoj IF ELSE jest bez sensu w tym przypadku.
ALbo wywal wyjatek i zwraca true albo false i wowczas IF ELSE ma racje bytu, albo rzucaj tym wyjatkiem i lap wyjatki TRY CATCH. Ale nie mieszaj tych dwoch metod.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 16:21