Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie Select
Forum PHP.pl > Forum > PHP
dela
Może zacznę od najprostszego pytania czy zapytanie do bd "Select" zwraca wynik czy coś znalazło? Np. jak wykonuje zapytanie "INSERT" (oczywiście jak się wszystko powiedzie) to wyświetla mi wynik "News został dodany".
skowron-line
http://pl.php.net/manual/en/function.mysql-num-rows.php
Manual przyjacielu.
dela
Nie oto mi dokładnie chodzi... Mam następujący skrypcik:
  1. <?php
  2. $typ = addslashes ($_GET['typ']);
  3. $kraj = addslashes ($_GET['kraj']);
  4.    
  5.    $Zapytanie  = 'SELECT * FROM xxxxxxxxxxx WHERE typ = "'.$typ.'" AND kraj="'.$kraj.'"';
  6.    $Wynik = mysql_query($Zapytanie);
  7.    if ($Wynik) {
  8.    while ($Dane = mysql_fetch_array($Wynik, MYSQL_ASSOC)) {
  9.        echo '<a href="wyswietl.php?id='.$Dane['id'].'">';
  10.        echo '<div id="nieruchomosci_panel">';
  11.        echo '<div class="nieruchomosci_panel_foto">';
  12.        echo '<img src="nieruchomosc_miniatura/'.$Dane['miniatura'].'" width="90px" height="70px" border="0">';
  13.        echo '</div>';
  14.        echo '<div class="nieruchomosci_panel_nazwa">'.$Dane['nazwa_pl'].'</div>';
  15.        echo '<div class="nieruchomosci_panel_tresc_kratka">';
  16.        echo $Dane['typ'];
  17.        echo '</div>';
  18.        echo '<div class="nieruchomosci_panel_tresc_kratka">';
  19.        echo $Dane['kraj'];
  20.        echo '</div>';
  21.        echo '<div class="nieruchomosci_panel_tresc_kratka">';
  22.        echo $Dane['cena'], $Dane['jednostka'];
  23.        echo '</div>';
  24.        echo '<div class="nieruchomosci_panel_tresc_kratka">';
  25.        echo $Dane['powierzchnia'];
  26.        echo '</div>';
  27.        echo '</div>';
  28.        echo '</a>';
  29.    
  30.    }
  31.    mysql_free_result ($Wynik);
  32.    mysql_close();
  33.    }
  34.    
  35.    else
  36.    {
  37.           echo 'Nie znalaziono żadnych nieruchomość!';
  38.    }
  39. ?>


Chce zrobić tak że jak zapytanie select niczego nie znajdzie w bd to żeby wyświetliło komunikat Nie znalaziono żadnych nieruchomość! Zawsze robiłem to za pomocą if ale teraz nie chce się udać tego w cudować
skowron-line
5 min temu o to samo kolega pytał.

http://pl.php.net/manual/en/function.mysql-query.php

Cytat
Return Values

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.


mysql_query tak jak ty robisz może Ci powiedzieć że zapytanie sie wykonało poprawnie ale nie powie Ci ile rekordów zwróciło.
Czyli jeżeli skrypt nie znajdzie żadnych nieruchomości ale się wykona poprawnie to
twój IF i tak się spełni, bo query zwroci true.
hostingekspert
dla Twojego kodu

Kod
   .....
   $Wynik = mysql_query($Zapytanie);
   if (mysql_num_rows($Wynik)) {
      ...
   }
   ....


jesli znajdzie jakieś rekordy zwróci liczbę większą od 0, co zostanie zrzutowane jako true,
jeśli nie znajdzie żadnego rekordu zwróci 0, co zostanie zrzutowane jako false
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.