[mySQL] wyswietlanie wynikow

0

Mam taki kod z kursu napisanego przez Piotra Kuźmińskiego:

// połączenie się lokalnym serwerem bazy MySQL
$sql_conn = mysql_connect('localhost', 'admin', 'passwd') <-- normalnie usuwam te wartosci zeby sie domyslnie logowalo
// w przypadku niepowodzenia połączenia zakończ aplikację
or die('Nie mogłem połaczyć się z bazą danych');

// jeśli nie mamy jeszcze bazy to musimy ją utworzyć
mysql_create_db('zawodnicy');

// wybieramy bazę danych
mysql_select_db('zawodnicy');

// tworzymy tabelę nba
$zapytanie = 'CREATE TABLE nba (id int NOT NULL AUTO_INCREMENT, nazwisko char(30), lata char(3), punkty char(3), mistrzostwa char(3), PRIMARY KEY(id))';
$idzapytania = mysql_query($zapytanie);

// dodajemy troche przykładowych danych
$zapytanie = "INSERT INTO `nba` (`id`, `nazwisko`, `lata`, `punkty` , `mistrzostwa`) VALUES ('', 'Jordan', '13', '258', '48')";
$idzapytania = mysql_query($zapytanie);
$zapytanie = "INSERT INTO `nba` (`id`, `nazwisko`, `lata`, `punkty` , `mistrzostwa`) VALUES ('', 'Pipen', '10', '123', '32')";
$idzapytania = mysql_query($zapytanie);
$zapytanie = "INSERT INTO `nba` (`id`, `nazwisko`, `lata`, `punkty` , `mistrzostwa`) VALUES ('', 'O\'Neal', '10', '205', '50')";
$idzapytania = mysql_query($zapytanie);

// wyświetlamy treść naszej tabeli
$zapytanie = "SELECT `id`,`nazwisko`,`lata`,`punkty` FROM `nba`";
$idzapytania = mysql_query($zapytanie);
echo '<table>';
while ($wiersz = mysql_fetch_row($idzapytania)) {
echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td><td>'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td></tr>';
}
echo '</table>';

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

Powinien niby dzialac, ale nie dziala. Wyskakuje błąd:
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ..blabla.

I tak samo sie dzialo gdy sam cos probowalem napisac. Pomocy, nie wiem co robic.

0

Nie masz w tym kodzie wywolania mysql_fetch_array() - to po pierwsze. Po drugie:

echo mysql_error();

po wykonaniu zapytania, ktore wywoluje blad.

0

Moj blad:P Wpisalem nie ten error:P chodzilo o row nie array (mysql_fetch_row() ). mysql_error wypisal mi ze nie wybrano zadnej bazy danych a przeciez wybralem...

0

A baza sie tworzy? Lub jest stworzona? Daj echo mysql_error() po kazdym dzialaniu na bazie, moze wybranie bazy tez powoduje blad, stad jej nie wybrales?

0

Umieściłem
echo mysql_error();
zaraz po
mysql_create_db('zawodnicy');
i dostałem taki tekst: Access denied for user: '@localhost' to database 'zawodnicy'

0

Znaczy nie masz uprawnien do tworzenia bazy lub ona istnieje. Wypadaloby najpierw sprawdzic czy jest, zanim sie ja utworzy, co? ;)

0

Problem polega na tym ze jestem kompletnie zielony w temacie mySQL pÓÓÓÓki co. Sprawdzalem w WinMySQLAdmin w zakladce data bases (bo tam chyba tego szukac?) i nie ma bazy "zawodnicy". Jesli to nie wina jej braku jednak to jak takie uprawnienia uzyskac?

0

A czemu chcesz to wszystko robic w kodzie? Nie lepiej Ci przygotowac sobie baze, tabele i inne rzeczy i na nich operowac? Rzadko kiedy robi sie to z poziomu php, chyba ze sa ku temu powody (np. instalacja cms'a, frameworka, itp), ale i wtedy zwykle jednokrotnie.

PS. Co do uprawnien to wiele mowi na ten temat dokumentacja

0

Wielkie dzieki:) Teraz wiem ze nie trzeba z poziomu php:P Musze chyba jakas ksiazke kupic bo wszedzie na stronach jest ten kurs Kuźmińskiego:/ No to 1 krok do przodu:P

1 użytkowników online, w tym zalogowanych: 0, gości: 1