Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Pobieranie zawartosci mysql
Forum PHP.pl > Forum > Przedszkole
musiek86
Witam pracuje nad skryptem który bedzie pobierał zawartosc pewnej tabeli z bazy mysql(mianowicia sa to adresy @ userów którzy zarejestrowali sie u mnie na stronie), jestem w tym nieco zielony wiec szukałem informacji w sieci a skutki wygladaja nastepujaco:

Kod
<?php
/*
    połączenie z bazą sobie darujemy
    opisane jest ono w tej poradzie
    http://www.kess.com.pl/?sid=10&pid=32
*/



// nawiazujemy polaczenie
$connection = @mysql_connect('localhost', 'XXXXXX', 'YYYYY');

// połączenie nawiązane;-)
echo "Udało się połączyć z serwerem!
";




/* zapytanie <b>do</b> konkretnej tabeli */
$wynik = mysql_query("SELECT * FROM `ep_users` GROUP BY `user_email` ORDER BY `user_email`");

/*
wyświetlamy wyniki, sprawdzamy,
czy zapytanie zwróciło wartość większą od 0
*/
  {
     /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
     echo "<table cellpadding=\"2\" border=1>";
     while($r = mysql_fetch_assoc($wynik)) {
         echo "<tr>";
         echo "<td>".$r['rekord']."</td>";
         echo "<td>".$r['email']."</td>";
         echo "</tr>";
     }
     echo "</table>";
}


// zamykamy połączenie
mysql_close($connection);

?>


W efekcie otrzymuje cos takiego:
Kod
Uda³o siê po³¹czyæ z serwerem!

   <b>Warning</b>:  mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>/home/tmo53873/public_html/pliki/mail2.php</b> on line <b>29</b>


Ktos moze mi powiedziec gdzie lezy problem?
loganek
Błąd jest tutaj:
Kod
$wynik = mysql_query("SELECT * FROM `ep_users` GROUP BY `user_email` ORDER BY `user_email`");

sprawdź czy nie zrobiłeś jakiejś literówki w nazwach kolumn itp.
musiek86
właściwie to nie wiem czy to zapytanie jest poprawnie zrobione, jak loguje sie do phpmyadmin i recznie docieram do tabeli ep_users to na górze mi takie zapytanie wyskakuje:

Kod
    SELECT COUNT(  *  )  AS  `Rekordów` ,  `user_email`
FROM  `ep_users`
GROUP  BY  `user_email`
ORDER  BY  `user_email`
LIMIT 0 , 120


moze nie potrzebnie cos wymazałem w skrypcie bo tam jest nieco innaczej. A tak w ogóle to co oznacza ten komunikat?
phpion
Zmień sobie odpowiednią linijkę na:
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM `ep_users` GROUP BY `user_email` ORDER BY `user_email`") or die(mysql_error());
  3. ?>

Jeśli ci to nie pomoże to wklej komunikat na forum. Swoją drogą: na pewno chcesz robić grupowanie w zapytaniu?
musiek86
Grupowanie nie musi byc.
Po zmianie kodu mam taki komunikat:

Kod
Uda³o siê po³¹czyæ z serwerem!
No database selected
phpion
  1. <?php
  2. $connection = @mysql_connect('localhost', 'XXXXXX', 'YYYYY');
  3. mysql_select_db('nazwa_bazy_danych', $connection); // tego brakowalo!
  4. ?>
musiek86
Też to właśnie zauważyłem ale nie wiele to pomogło efekt tu http://musiek.pl/pliki/mail2.php
loganek
hmm, a możesz pokazać cały kod?
Cysiaczek
Przenoszę na Przedszkole
musiek86
  1. <?php
  2. /*
  3.    połączenie z bazą sobie darujemy
  4.    opisane jest ono w tej poradzie
  5. */
  6.  
  7.  
  8.  
  9. // nawiazujemy polaczenie
  10. $connection = @mysql_connect('localhost', 'XXX, 'YYY');
  11. $db = @mysql_select_db('tmo53873_musiek', $connection);
  12. // połączenie nawiązane ;-)
  13. echo "Udało się połączyć z serwerem!<br />";
  14.  
  15.  
  16.  
  17.  
  18. /* zapytanie <b>do</b> konkretnej tabeli */
  19. $wynik = mysql_query("SELECT COUNT( * ) AS `Rekordów` , `user_email` FROM `ep_users` GROUP BY `user_email` ORDER BY `user_email`") or die(mysql_error());
  20.  
  21. /*
  22. wyświetlamy wyniki, sprawdzamy,
  23. czy zapytanie zwróciło wartość większą od 0
  24. */
  25.  {
  26. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  27. echo "<table cellpadding=\"2\" border=1>";
  28. while($r = mysql_fetch_assoc($wynik)) {
  29. echo "<tr>";
  30. echo "<td>".$r['rekord']."</td>";
  31. echo "<td>".$r['email]."</td>";
  32. echo "</tr>";
  33. }
  34. echo "</table>";
  35. }
  36.  
  37.  
  38. // zamykamy połączenie
  39. mysql_close($connection);
  40.  
  41. ?>
loganek
zamień
Kod
echo "<td>".$r['rekord']."</td>";
echo "<td>".$r['email]."</td>";

na:
Kod
echo "<td>".$r['ep_users']."</td>";
echo "<td>".$r['user_email']."</td>";
musiek86
Dzieki wielkie teraz działa jak nalezy smile.gif
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.