Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Baza danych mysql z php
essx
post 28.12.2007, 22:17:42
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2007

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


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
Powód edycji: Dodałem tagi i poprawiłem bbcode. @drPayton
Go to the top of the page
+Quote Post
xbigos
post 28.12.2007, 22:23:44
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

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


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. ?>


Ten post edytował xbigos 28.12.2007, 22:30:08


--------------------
Go to the top of the page
+Quote Post
essx
post 28.12.2007, 22:37:50
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2007

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


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.

Ten post edytował essx 28.12.2007, 22:40:09
Go to the top of the page
+Quote Post
xbigos
post 28.12.2007, 22:39:05
Post #4





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

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


A sprawdź czy nie porypałeś nazw tabeli:)


--------------------
Go to the top of the page
+Quote Post
essx
post 28.12.2007, 22:58:03
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2007

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


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.
Go to the top of the page
+Quote Post
--slaw.omir--
post 28.12.2007, 22:58:08
Post #6





Goście







Może tak?
  1. <?php
  2. while($row=mysql_fetch_row($wynik))
  3. $nazwa=$row["nazwa_kolumny"];
  4. echo $nazwa;
  5. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 07:42