Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] nie chce wyszukac rekordu z literami
Forum PHP.pl > Forum > Przedszkole
papik
Mam taki fragment kodu:

  1. $sql = mysql_connect('xxxx' , 'xxxx' , 'xxxx') OR die(mysql_error());
  2. mysql_select_db('xxxx') OR die(mysql_error());
  3.  
  4. $zapytanie = "SELECT * FROM kocimietka WHERE identyfikator = 71p";
  5. $wykonaj = mysql_query($zapytanie);
  6.  
  7. $wiersz = mysql_fetch_array($wykonaj);
  8.  
  9. mysql_close($sql);


gdy próbuje wyszukać w bazie rekord dla którego identyfikator = 71p to pojawia się błąd:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/k/o/kocimietka/test_mail/transakcja.php on line 11

Gdy usunę z warunku wyszukiwania literę, tak żeby identyfikator = 71, to wtedy skrypt przechodzi dalej.

W czym jest problem?
WereWolf
może spróbuj dać tekst w apostrofy, np:

  1. $zapytanie = "SELECT * FROM kocimietka WHERE identyfikator = '71p'";
papik
Niestety apostrofy nie pomagają.
mike
mysql_fetch_array() wywala się jeśli to co dostanie nie jest tablicą.
Jaki wniosek?
1. Zapytanie jest niepoprawne.
lub
2. Zapytanie nie zwraca wyników.

Przede wszystkim to zastosuj się do tego: Najczęstsze błędy, Zanim zapytasz, to sprawdź. (pkt 2) a potem uzależnij wykonanie funkcji mysql_fetch_array() od mysql_num_rows
skowron-line
  1. <?php
  2. $zapytanie = 'SELECT * FROM kocimietka WHERE identyfikator = "71p" ';
  3. ?>
papik
Dziwne, ale zamiast ciągu znaków dałem zmienną, tak jak tu:
  1. $zapytanie = "SELECT * FROM kocimietka WHERE identyfikator = '$id'";

i zaczęło działać.

Dziękuję za pomoc.
fiszol
widocznie identyfikator 71p nie istniał ....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.