Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak sprawdzić, czy zapytania do bazy się udały?
Asmox
post 19.06.2009, 14:07:48
Post #1





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

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


W książce pt. "PHP5. Zaawansowanie programowanie" doszukałem się błędu. Mianowicie przy tworzeniu "Warstwy abstrakcji dla bazy danych" metoda Insert kończy się w taki sposób:
  1. <?php
  2. $query = mysql_query($sql, $this->link);
  3.    if(! is_resource($query)) {
  4.      $error = mysql_errno($this->link) . ": " . mysql_error($this->link);
  5.      throw new exception($error);
  6.    }
  7.    
  8.    return mysql_affected_rows($query);
  9. ?>

To chyba wiadome, że instrukcja Insert nie zwraca żadnej kotwicy do danych (w przeciwieństwie do funkcji Select). Testując kod zawsze rzuca mi on wyjątek o kodzie błędu 0 (czyli że go nie ma).

Chciałbym się dowiedzieć, jak sprawdzać, czy zapytania Insert, Update i Delete się powiodły. Czy coś takiego będzie w porządku:
  1. <?php
  2. $query = mysql_query($sql, $this->link);
  3.    if(! mysql_affected_rows($query)) {
  4.      $error = mysql_errno($this->link) . ": " . mysql_error($this->link);
  5.      throw new exception($error);
  6.    }
  7.    
  8.    return mysql_affected_rows($query);
  9. ?>


@EDIT: Już sprawdziłem, coś kurde nie działa, bo wywala mi taki błąd:
Cytat
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in C:\Asmox\Programy\WebServ\httpd\KPiR\components\class.Database.php on line 58

Czyli jednak zwraca jakąś kotwicę. Wygląda na to, że to ja coś zwaliłem. Tylko co?

Ten post edytował Asmox 19.06.2009, 14:12:33


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:38