Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Sprawdzenie pustego rekordu.
Forum PHP.pl > Forum > Przedszkole
harbii
Wiem, że temat 100 razy wałkowany ale nie moge sobie z tym poradzić.
Kod odczytuje w tabeli2 nr id, który sprawdza w tabeli1 czy istnieje. Jeżeli nie istnieje w tabeli2 ma wywalić brak kodu.

mam coś takiego:

  1. $zapytanie = "SELECT * FROM tabelka2";
  2. $wykonaj = mysql_query($zapytanie);
  3. while($dane = mysql_fetch_array($wykonaj))
  4. {
  5. $id = $dane['id'];
  6. $test = $dane['test'];
  7. $q = mysql_query('SELECT count(*) FROM tabelka1 WHERE id=$test');
  8. if(mysql_num_rows($q) == 0)
  9. {
  10. echo 'brak '.$id;
  11. }
  12. }


Dlaczego to nie działa?
Turson
W przypadku liczenia rekordów, mysql_num_rows zwraca 1 rekord z liczbą rekordów
harbii
Ok. I jak to sie ma do powyższego kodu? Dlaczego to nie działa?
Turson
Masz zrobić
harbii
Nie bardzo mi to pomogło może źle zastosowałem tą funkcję. Ale obszedłem to zmienną która liczy sobie ile pętli wykonała.

zamiast
  1. $q = mysql_query('SELECT count(*) FROM tabelka1 WHERE id=$test');
  2. if(mysql_num_rows($q) == 0)
  3. {


dałem sobie tak:

  1. $saa=0;
  2. $zapytanie2 = "SELECT * FROM tabelka1 WHERE id=$test";
  3. $wykonaj2 = mysql_query($zapytanie2);
  4. while($dane2 = mysql_fetch_array($wykonaj2))
  5. {
  6. $saa=$saa+1;
  7. }
  8. if($saa == 0){...


Może mega amatorskie ale działą wink.gif
golabow
  1. $q = mysql_query('SELECT count(*) FROM tabelka1 WHERE id=$test');


Użyłeś pojedynczych apostrofów, należy użyć podwójnych jeśli chcesz aby tekst uległ interpolacji ( PHP zamieni wszystkie wystąpienia zmiennych ich wartościami )

czyli takie coś:
  1. $q = mysql_query("SELECT count(*) FROM tabelka1 WHERE id=$test");
Turson
  1. $q = mysql_query('SELECT count(*) as ile FROM tabelka1 WHERE id='.$test);
  2. $row = mysql_fetch_assoc($q);
  3. var_dump($row);
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.