Od razu pragnę zaznaczyć, że jestem kompletnym początkującym jeżeli chodzi o Bazy danych. Można powiedzieć, że zostałem zmuszony do zapoznania się z tym tematem. Moje pytanie tutaj na pewno będzie dla większości was banalne/głupie, lecz proszę zerknijcie na nie okiem. Nie chce gotowych rozwiązań po prostu goni mnie czas a mam wrażenie, że utknąłem na jednej z podstaw.
Sprawa wygląda tak :
Posiadam ksiąke PHP i MySQL Vademecum profesjonalisty wydanie trzecie (2005). Nie przerobiłem jej całej z braku czasu (chociaż wtedy pewnie nie miałbym obecnego problemu).
Zająłem się rozdziałem 27. Tworzenie koszka na zakupy. Wszystkie pliki gotowego projektu umieściłem na hostingu Friko.pl - http://www.sklepprojekt.doprzodu.com/
Kod zawiera funkcje łączące się z bazami danych ksiazka_kz.sql i populacja.sql, obecnie strona nie działa jak powinna ponieważ z mojego punktu widzenia nie ma dostępu do tych baz (komunikat Brak dost�pnych kategorii ).
Domyśliłem się, że nie wystarczy tych baz po prostu wrzucić na serwer ftp. Zalogowałem się na swojego konto na serwisie friko.pl i dodałem bazę danych 1194930_populacja, następnie zalogowałem się
do jej edycji poprzez phpMyAdmin kliknąłem w zakładkę SQL i spróbowałem zimportować bazę danych (zarrówno z ftp jak i z lokazji fizycznej na dysku ) populacja.sql za pomocą tamtejszej opcji.
Wyrzuciła ona błąd :
Zapytanie SQL:
USE ksiazka_kz;
MySQL zwrócił komunikat: Dokumentacja
#1044 - Access denied for user '1350587972_f'@'%' to database 'ksiazka_kz'
Podczas importu bazy ksiazka_kz
Zapytanie SQL:
CREATE DATABASE ksiazka_kz;
MySQL zwrócił komunikat: Dokumentacja
#1044 - Access denied for user '1350587972_f'@'%' to database 'ksiazka_kz'
I tu pojawia się moje pytanie. Czy moje myślenie idzie w ogóle w dobrym kierunku ? Jeżeli tak to co zrobić aby poprawnie zaimplementować te bazy do serwisu ? Jeżeli nie to czy macie jakieś rady?
Bardzo proszę o pomoc, lub jakiekolwiek materiały. Rozumiem, że to zapewne banalny problem lecz czas nie pozwala mi na dokładną analizę całej ksiązki od strony pierwszej do 604tej.
Pozdrawiam i dołaczam spokrewnione z problem kody.
//////////////////////////////////////////////////////////////////////////////
USE ksiazka_kz; INSERT INTO ksiazki VALUES ('8371973918','Tim Converse, Joyce Park','PHP4. Biblia',1,79, 'Chcesz tworzyć dynamiczne strony WWW współpracujące z bazami danych? Ten rzetelnie opracowany podręcznik zawiera analizy konkretnych problemów. Ułatwi zapoznanie się z najnowszą wersją języka umożliwiającego tworzenie skryptów dołączanych do stron HTML.'); INSERT INTO ksiazki VALUES ('8371975058','Andrzej Kierzkowski', 'PHP 4. Tworzenie stron WWW. Ćwiczenia praktyczne',1,16, 'Zapraszamy do lektury kolejnych "ćwiczeń praktycznych" dotyczących technologii przydatnych w pracy webmastera. Tym razem nie są one przeznaczone dla zupełnych nowicjuszy.'); INSERT INTO kategorie VALUES (1,'Internet'); INSERT INTO kategorie VALUES (2,'Podręczniki'); INSERT INTO kategorie VALUES (3,'Fantastyka'); INSERT INTO kategorie VALUES (4,'Ogrodnictwo'); INSERT INTO admin VALUES ('admin', sha1('admin'));
--------------------------------------------------------
CREATE DATABASE ksiazka_kz; USE ksiazka_kz; CREATE TABLE klienci ( idklienta int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, nazwisko char(60) NOT NULL, adres char(80) NOT NULL, miasto char(30) NOT NULL, wojew char(20), kod_poczt char(10), kraj char(20) NOT NULL ) type=InnoDB; CREATE TABLE zamowienia ( idzamowienia int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, idklienta int UNSIGNED NOT NULL REFERENCES klienci(idklienta), wartosc float(6,2), DATA date NOT NULL, stan_zam char(10), dos_nazwisko char(60) NOT NULL, dos_adres char(80) NOT NULL, dos_miasto char(30) NOT NULL, dos_wojew char(20), dos_kod_poczt char(10), dos_kraj char(20) NOT NULL ) type=InnoDB; CREATE TABLE ksiazki ( isbn char(13) NOT NULL PRIMARY KEY, autor char(100), tytul char(100), idkat int UNSIGNED, cena float(4,2), opis varchar(255) ) type=InnoDB; CREATE TABLE kategorie ( idkat int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, nazwakat char(60) NOT NULL ) type=InnoDB; CREATE TABLE produkty_zamowienia ( idzamowienia int UNSIGNED NOT NULL REFERENCES zamowienia(idzamowienia), isbn char(13) NOT NULL REFERENCES ksiazki(isbn), cena_produktu float(4,2) NOT NULL, ilosc tinyint UNSIGNED NOT NULL, PRIMARY KEY (idzamowienia, isbn) ) type=InnoDB; CREATE TABLE admin ( nazwa_uz char(16) NOT NULL PRIMARY KEY, haslo char(40) NOT NULL ); GRANT SELECT, INSERT, UPDATE, DELETE ON ksiazka_kz.* TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';
--------------------------------------------------------
function pobierz_kategorie() { // zapytanie bazy danych o listę kategorii $lacz = lacz_bd(); $zapytanie = 'select idkat, nazwakat from kategorie'; $wynik = @$lacz->query($zapytanie); if (!$wynik) return false; $ilosc_kat = @$wynik->num_rows; if ($ilosc_kat ==0) return false; $wynik = wynik_bd_do_tablicy($wynik); return $wynik; }
--------------------------------------------------------
unction wyswietl_kategorie($tablica_kat) { { return; } foreach ($tablica_kat as $rzad) { $url = 'pokaz_kat.php?idkat='.($rzad['idkat']); $tytul = $rzad['nazwakat']; tworz_html_url($url, $tytul); } }