Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problemy w początkowej fazie nauki MySQL
-PrzedszkolakMySQL-
post
Post #1





Goście







Witam,
Trochę już programuję w php ale dopiero zaczynam swoją przygodę z MySQL. No i jak na razie to idzie dosyć ciężko… Gdy w Internecie szukam jakichś kursów to wszystkie są takie same, na przykładzie zawodników NBA ;-). Więc jeśli znacie jakiś dobry kurs to dajcie linka.
A jak na razie to stawiam pierwsze kroki to napisałem taki kod (a raczej wziąłem z kursów):
  1. <html>
  2. <head>
  3. <?
  4. $sql_conn = mysql_connect('localhost', 'login', 'haslo');
  5. mysql_query('CREATE DATABASE zawodnicy');
  6. mysql_select_db('zawodnicy');
  7. $zapytanie = 'CREATE TABLE nba (id int NOT NULL AUTO_INCREMENT, imie char(30), lata char(3), punkty char(3), mistrzostwa char(3), PRIMARY KEY(id))';
  8. mysql_query($zapytanie);
  9. $zapytanie = "INSERT INTO `nba` (`id`, `nazwisko`, `lata`, `punkty` , `mistrzostwa`) VALUES ('', 'Jordan', '13', '32', '6')";
  10. $idzapytania = mysql_query($zapytanie);
  11. echo $idzapytania;
  12.  
  13. $zapytanie = "SELECT `id`,`nazwisko`,`lata`,`punkty` FROM `nba`";
  14. $idzapytania = mysql_query($zapytanie);
  15. echo 'aaaa'.$idzapytania.'bbbb';
  16. echo '<table>';
  17. while ($wiersz = mysql_fetch_row($idzapytania))
  18. {
  19. echo '<tr><td>'. $wiersz[0] .'</td><td>'. $wiersz[1] .'</td><td>'. $wiersz[2] .'</td><td>'. $wiersz[3] .'</td></tr>';
  20. }
  21. echo '<table>';
  22. mysql_close($sql_conn);
  23. ?>
  24. </body>
  25. </html>

I zwraca mi to taki błąd:

supplied argument is not a valid MySQL resorce
" title="Zobacz w manualu php" target="_manual

a $idzapytania jest puste.

Co z tym jest nie tak?
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

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


Masz kolumnę imie, a w instrukcji select chcesz pobrać dane z kolumny nazwisko. Poza tym:
- Nazw tabel i kolumn nie musisz ujmować w znaki " ` ", ładniej wygląda bez...
- Projekt bazy jest tragiczny. Liczby zapisujesz w danych tekstowych. Zmienić na liczby całkowite.
- Jeżeli masz pole z auto_increment, to pomijasz je na 2 sposoby: albo nie wpisujesz go w ogólę na listę z danymi, albo przypisujesz mu wartość NULL. NULL to nie jest to samo co pusty ciąg znaków.

Do nauki baz danych mimo wszystko polecam książki, w których wszystko jest opisane obszerniej niż w kursach na stronach www, które w większości przedstawiają zagadnienia dosyć pobieżnie.

EDIT: Zapomniałem wyjasnić na czym polega błąd, mimo tego, że było to wałkowane wiele razy. Funkcja mysql_query" title="Zobacz w manualu php" target="_manual zwraca zasób, którego możemy używać do przeglądania wyników zapytania. W przypadku błędu w zapytaniu, nie dostaniemy tego zasobu tylko logiczny fałsz. Funkcje mysql_fetch_* oraz inne przyjmujące ten zasób za argument zwracają właśnie taki błąd...

Ten post edytował Ludvik 11.07.2006, 23:23:18


--------------------
Go to the top of the page
+Quote Post
-PrzedszkolakMySQL-
post
Post #3





Goście







Trochę to nawet śmieszne, ale właśnie to powodowało błąd. Dzięki!
A projekt bazy rzeczywiście jest kiepski, ale teraz chcę poznać MySQL - gdy będę robić jakiś projekt w oparciu o bazy to wtedy będę się starać zrobić lepszą strukturę danych smile.gif

Pozdrawiam
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 Aktualny czas: 21.08.2025 - 09:15