Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Baza danych mysql z php
Forum PHP.pl > Forum > Przedszkole
essx
Witam Napisałem fragment skryptu php, w którym łączę się z bazą danych i pobieram zapisane w niej dane. Za każdym razem, gdy próbuję go uruchomić mam błąd

Kod
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in...


nazwa bazy, z która próbuję się połączyć to baza; tabela, z którą się łączę to tabela;

Skrypt wygląda tak:

  1. <?php
  2. $polaczenie=mysql_connect("localhost","",""); /* Nawiązanie połączenia z bazą */
  3.  
  4.  
  5.  if($polaczenie)
  6. echo "Polaczono 1";
  7.  
  8.  if(mysql_select_db("baza", $polaczenie)) /* Wybranie odpowiedniej bazy danych */
  9. echo "Polaczono 2";
  10.  
  11.  $sql="SELECT * FROM tabela";
  12.  
  13.  $wynik=mysql_query($sql); /* Zapytanie sql do bazy i zapisanie wyniku w $wynik */
  14.  
  15.  while($linia=mysql_fetch_row($wynik)) /* Pętla dopóki istnieją dane */
  16. echo $linia[1];
  17.  
  18.  mysql_close($polaczenie);
  19. ?>


Gdzie popełniam błąd?

Z góry dzięki
xbigos
nie

while($linia=mysql_fetch_row($wynik)) /* Pętla dopóki istnieją dane */
echo $linia[1];
tylko

  1. <?php
  2. $linia=mysql_fetch_row($wynik);
  3. echo $linia[0];
  4. echo $linia[1];
  5. ?>



aha i
  1. <?php
  2. if($polaczenie)
  3. echo "Polaczono 1";
  4.  
  5. if(mysql_select_db("baza", $polaczenie)) /* Wybranie odpowiedniej bazy danych */
  6. echo "Polaczono 2";
  7. ?>


to raczej nie potrzebne. Poczytaj o http://pl.php.net/mysql_error

Czyli cały skrypt po mojemu by wyglądał tak
  1. <?php
  2. $polaczenie = mysql_connect("","","") or die (mysql_error());
  3. mysql_select_db("twoja_baza") or die (mysql_error());
  4.  
  5. $query = mysql_query("SELECT * FROM tabela");
  6. $linia=mysql_fetch_row($wynik);
  7. echo $linia[1];
  8. mysql_close($polaczenie);
  9. ?>
essx
Dzięki za odpowiedź.

Cytat(xbigos @ 28.12.2007, 22:23:44 ) *
nie

while($linia=mysql_fetch_row($wynik)) /* Pętla dopóki istnieją dane */
echo $linia[1];
tylko

  1. <?php
  2. $linia=mysql_fetch_row($wynik);
  3. ?>


Zaps z pętlą jest poprawny. Dzięki pętli pobieram wszystkie rekordy dostępne w zbiorze wyników. Twój zapis powoduje wybranie tylko pierwszego. Błąd pozostaje ten sam.


Cytat(xbigos @ 28.12.2007, 22:23:44 ) *
aha i
  1. <?php
  2. if($polaczenie)
  3. echo &#092;"Polaczono 1\";
  4.  
  5. if(mysql_select_db(&#092;"baza\", $polaczenie)) /* Wybranie odpowiedniej bazy danych */
  6. echo &#092;"Polaczono 2\";
  7. ?>


to raczej nie potrzebne. Poczytaj o http://pl.php.net/mysql_error


W sumie to można to pominąć, zostawiając linię mysql_select_db(\"baza\", $polaczenie). Fragment ten napisałem w celu sprawdzenia czy w skrypcie nawiązywane są połączenia z bazą.


Wydaje mi się, że wszystko jest poprawnie napisane, jednak php się wykrzacza.
xbigos
A sprawdź czy nie porypałeś nazw tabeli:)
essx
Nazwa tabeli oraz bazy jest poprawna. Już wiem w czym był błąd. Zadziałało tak jak powinno. Dzięki za inicjatywę pomocy. Masz plusa.
-slaw.omir-
Może tak?
  1. <?php
  2. while($row=mysql_fetch_row($wynik))
  3. $nazwa=$row["nazwa_kolumny"];
  4. echo $nazwa;
  5. ?>
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.