Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][sql]Sprawdzaniec istnienia w bazie
MILICJA
post
Post #1





Grupa:
Postów: 31
Pomógł: 3
Dołączył: 25.08.2006

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


Siema (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Otoz mam pewien problem za sprawdzaniem czy dany rekord jest bazie.
Sprawdzam to tak :

  1. <?php
  2. function sprawdzIst ($pid, $baza_danych) {
  3.  
  4. $istnieje= mysql_query("Select * FROM $baza_danych WHERE id = '$pid' ");
  5. $ile = mysql_num_rows($istnieje);
  6.  
  7. if ( $ile == 0 ) { 
  8.  
  9.  
  10. print '<CENTER></ br></ br>Strona o podanym id nie istnieje<CENTER>';
  11.  
  12.  
  13. }else {
  14.  
  15. wyPodstrone ($pid,$baza_danych); // funkcja wyswietla podstrone ( to dziala poprawnie)
  16.  
  17.  
  18. }
  19.  
  20. }
  21. ?>



Funkcja dziala bez zarzutu dopóki w "$pid" nie znajdzie sie / wtedy
mam oto taki komunikacik :

  1. Warning: mysql_fetch_array(): supplied argument IS NOT a valid MySQL result resource IN podstrony_index.php ON line 41



Wie ktos co nalezy poprawic ?

Ten post edytował MILICJA 27.08.2006, 20:34:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Lonas
post
Post #2





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Można to rozwiązać dwojako :

Rozwiazanie pierwsze:
- zastosuj po zapytaniu mysql_query() ciag or die(mysql_error())
np.:

  1. <?php
  2. $result = mysql_query("SELECT nazwa_pola FROM nazwa_bazy WHERE nazwa_pola='costam'") or die(mysql_error());
  3. ?>


W ten sposob przy nieprawidlowym zapytaniu skrypt sie skonczy i wyswietli bledy zapytania.

Albo można tak :
  1. <?php
  2. $result = mysql_query("");
  3. {
  4. }
  5. else
  6. {
  7. }
  8. ?>

Teraz o co w tym wszystkim chodzi (kiedy powstaje blad).
Bład nie powstaje gdy zapytanie jest poprawne i generuj rezultat typu #resource
zmienna do ktorej zapisano wynik dzialania mysql_query() mozna smialo wstawic do mysql_fetch...().
Jesli w zapytaniu jest blad funkcja mysql_query() nie zwraca odpowiedniego rezultatu dla funkcji mysql_fetch...() i dlatego dopiero przy wywolaniu mysql_fetch...() nastepuje "wylozenie sie" skryptu.

pzdr
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: 26.12.2025 - 00:08