Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z połączeniem i wyświetleniem danych
Forum PHP.pl > Forum > Przedszkole
darney
Witam. Przerabiam przykład z PHPEdia i skrypt mam następujący.

  1. <?php
  2. /*
  3.  * połączenie z bazę itp
  4.  */
  5. $dbc = mysql_connect('localhost', 'nazwa_usera', 'haslo', 'nazwa_bazy');
  6. $SQL = "SELECT * FROM lesson_inn ORDER BY category ASC";
  7. // pobiera wszystkie rekordy z bazy, (sortując wg daty rosnąco - w tym przypadku)
  8. $RES = mysql_query($SQL); // wykonujemy zapytanie
  9. while($AFR = mysql_fetch_assoc($RES)){
  10. /*Wyswietlanie wyników, przykładowo:*/
  11. echo 'tytuł: '.$AFR['category'].'<br />';
  12. }
  13. ?>


nie mogę pobrać danych ukazuję się komunikat

"mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in "

Jezeli takim stylem wyświetlam dane to nie mam problemów

  1. $query = "SELECT * FROM lesson_inn WHERE category = 'grafika'";
  2. $result = mysqli_query($dbc, $query);
  3. while ($row = mysqli_fetch_array($result)) {
  4.  
  5. echo $row['a_name'];
  6. echo '<br />';
  7. echo $row['category'];
  8. echo '<br />';
  9. echo $row['title_movie'];
  10. echo '<br />';
  11. echo $row['link_yt'];
  12. echo '<br />';
  13. }
  14.  
  15. mysqli_close($dbc);


Dlaczego pierwszy sposób nie działa? Proszę o pomoc
PanGuzol
  1. <?php
  2. /*
  3.  * połączenie z bazę itp
  4.  */
  5. $dbc = mysql_connect('localhost', 'nazwa_usera', 'haslo', 'nazwa_bazy') or die(mysql_error());
  6. $SQL = "SELECT * FROM lesson_inn ORDER BY category ASC";
  7. // pobiera wszystkie rekordy z bazy, (sortując wg daty rosnąco - w tym przypadku)
  8. $RES = mysql_query($SQL) or die(mysql_error()) ; // wykonujemy zapytanie
  9. while($AFR = mysql_fetch_assoc($RES)){
  10. /*Wyswietlanie wyników, przykładowo:*/
  11. echo 'tytuł: '.$AFR['category'].'<br />';
  12. }
  13. ?>

wookieb
Temat: Jak poprawnie zadac pytanie
darney
Przestudiowałem poprzedni link i zastosowałem się powyższych reguł oraz tych które zostały podane w "jak zadać pytanie" i otrzymałem komunikat. "No database selected". Na pewno wpisuję poprawnie nazwę bazy wraz z połączeniem, ponieważ korzystając z msqli zapytanie wychodzi bez problemu. Zacząłem od tej durnej metody i nie mogę teraz korzystając z waszych pomocy na forum nic zrobić.

wookieb
Tylko, że 4 parametr mysql_connect to nie nazwa bazy.
http://pl2.php.net/mysql_select_db
darney
Rzeczywiście problem występował z błędnym połączeniem. Za pomocą msqli w jednej linii podawałem 4 wartości i 4 była nazwa bazy. Natomiast w msql należy wykonać

  1. $link = mysql_connect('localhost', 'user', 'pass');
  2. if (!$link) {
  3. die('Nie połączono : ' . mysql_error());
  4. }
  5.  
  6. // Ustaw moja_baza jako aktualną bazę danych
  7. $db_selected = mysql_select_db('moja_baza', $link);
  8. if (!$db_selected) {
  9. die ('Nie można ustawić moja_baza : ' . mysql_error());
  10. }


Niestety niektóre książki php kierują inne spojrzenie i człowiek korzystając z tutoriali internetowych gubi się.
Dziękuje za pomoc.
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.