Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Implementacja SQL - nowicjusz
Opok
post 18.10.2012, 21:17:19
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.10.2012

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


Witam!
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.

//////////////////////////////////////////////////////////////////////////////

  1. USE ksiazka_kz;
  2.  
  3. 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.');
  4. 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.');
  5.  
  6. INSERT INTO kategorie VALUES (1,'Internet');
  7. INSERT INTO kategorie VALUES (2,'Podręczniki');
  8. INSERT INTO kategorie VALUES (3,'Fantastyka');
  9. INSERT INTO kategorie VALUES (4,'Ogrodnictwo');
  10.  
  11. INSERT INTO admin VALUES ('admin', sha1('admin'));


--------------------------------------------------------
  1. CREATE DATABASE ksiazka_kz;
  2.  
  3. USE ksiazka_kz;
  4.  
  5. CREATE TABLE klienci
  6. (
  7. idklienta int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  8. nazwisko char(60) NOT NULL,
  9. adres char(80) NOT NULL,
  10. miasto char(30) NOT NULL,
  11. wojew char(20),
  12. kod_poczt char(10),
  13. kraj char(20) NOT NULL
  14. ) type=InnoDB;
  15.  
  16. CREATE TABLE zamowienia
  17. (
  18. idzamowienia int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  19. idklienta int UNSIGNED NOT NULL REFERENCES klienci(idklienta),
  20. wartosc float(6,2),
  21. DATA date NOT NULL,
  22. stan_zam char(10),
  23. dos_nazwisko char(60) NOT NULL,
  24. dos_adres char(80) NOT NULL,
  25. dos_miasto char(30) NOT NULL,
  26. dos_wojew char(20),
  27. dos_kod_poczt char(10),
  28. dos_kraj char(20) NOT NULL
  29. ) type=InnoDB;
  30.  
  31. CREATE TABLE ksiazki
  32. (
  33. isbn char(13) NOT NULL PRIMARY KEY,
  34. autor char(100),
  35. tytul char(100),
  36. idkat int UNSIGNED,
  37. cena float(4,2),
  38. opis varchar(255)
  39. ) type=InnoDB;
  40.  
  41. CREATE TABLE kategorie
  42. (
  43. idkat int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  44. nazwakat char(60) NOT NULL
  45. ) type=InnoDB;
  46.  
  47. CREATE TABLE produkty_zamowienia
  48. (
  49. idzamowienia int UNSIGNED NOT NULL REFERENCES zamowienia(idzamowienia),
  50. isbn char(13) NOT NULL REFERENCES ksiazki(isbn),
  51. cena_produktu float(4,2) NOT NULL,
  52. ilosc tinyint UNSIGNED NOT NULL,
  53. PRIMARY KEY (idzamowienia, isbn)
  54. ) type=InnoDB;
  55.  
  56. CREATE TABLE admin
  57. (
  58. nazwa_uz char(16) NOT NULL PRIMARY KEY,
  59. haslo char(40) NOT NULL
  60. );
  61.  
  62. GRANT SELECT, INSERT, UPDATE, DELETE
  63. ON ksiazka_kz.*
  64. TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';




--------------------------------------------------------

  1. function pobierz_kategorie()
  2. {
  3. // zapytanie bazy danych o listę kategorii
  4. $lacz = lacz_bd();
  5. $zapytanie = 'select idkat, nazwakat
  6. from kategorie';
  7. $wynik = @$lacz->query($zapytanie);
  8. if (!$wynik)
  9. return false;
  10. $ilosc_kat = @$wynik->num_rows;
  11. if ($ilosc_kat ==0)
  12. return false;
  13. $wynik = wynik_bd_do_tablicy($wynik);
  14. return $wynik;
  15. }


--------------------------------------------------------

  1. unction wyswietl_kategorie($tablica_kat)
  2. {
  3. if (!is_array($tablica_kat))
  4. {
  5. echo 'Brak dostępnych kategorii<br />';
  6. return;
  7. }
  8. echo '<ul>';
  9. foreach ($tablica_kat as $rzad)
  10. {
  11. $url = 'pokaz_kat.php?idkat='.($rzad['idkat']);
  12. $tytul = $rzad['nazwakat'];
  13. echo '<li>';
  14. tworz_html_url($url, $tytul);
  15. }
  16. echo '</ul>';
  17. echo '<hr />';
  18. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
sazian
post 18.10.2012, 22:01:20
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


wywal to
  1. USE ksiazka_kz;


  1. CREATE DATABASE ksiazka_kz;
  2.  
  3. USE ksiazka_kz;

nie masz uprawnień do utworzenia oraz używania bazy o nazwie ksiazka_kz
Go to the top of the page
+Quote Post
Opok
post 19.10.2012, 09:58:05
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.10.2012

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


Wyrzucenie tych fragmentów powoduje inne błędy. Czy mógłby mnie ktoś nakierować na jakiś opis podstaw implementowania gotowych plików .sql do strony www ?
Szukam i szukam, lecz moje zapytania w google nie dają mi odpowiedzi.

Dzięki za reakcje
Go to the top of the page
+Quote Post
viking
post 19.10.2012, 10:07:22
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Książka jest mocno przestarzała. Rozszerzenie mysql nie jest już dłużej rozwijane. Zamiast tego powinieneś poczytać o PDO / mysqli.
Zapytania możesz wklejać przez phpmyadmin albo jeszcze lepiej MySQL Workbench. Tak samo zmiany uprawnień. Poza tym staraj się wyszukiwać składnię bezpośrednio w dokumentacji bo coś mogło się zmienić, coś innego jest nieaktualne. Tutaj nie masz po prostu uprawnień.


--------------------
Go to the top of the page
+Quote Post
mmmmmmm
post 19.10.2012, 10:15:50
Post #5





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Wywal jeszcze to:
GRANT SELECT, INSERT, UPDATE, DELETE
ON ksiazka_kz.*
TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';
Go to the top of the page
+Quote Post
Opok
post 19.10.2012, 11:52:05
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.10.2012

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


Czegokolwiek nie wywalę kodu dalej baza nie przyjmuje. Mój widok : http://imageshack.us/a/img210/908/phpaq.jpg

@viking

Dzięki za informacje, domyślam się z w naszej dziedzinie książka z 2005r jest już nieaktualna.
Bardzo zależy mi na odpaleniu tego kodu aby po prostu kod na stronie działał tak jak zakłada książka.

Cały czas odnoszę wrażenie, że coś prostego nie działa bo po prostu nie wrzucam tego w odpowiednie miejsce.
Czy po tym zrzucie ekranu możecie stwierdzić, że to właśnie tej funkcji import powinienem używać aby
zaimplementować te bazy danych do serwisu www? Czy to wina samego friko.pl który nie supportuje jakieś składni lub składni która jest
już na tyle przestarzała?
Go to the top of the page
+Quote Post
sazian
post 19.10.2012, 13:39:10
Post #7





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


głupie pytanie: oczywiście wybrałeś bazę danych ? to znaczy czy kliknąłeś po lewej stronie to "119..." ?
Go to the top of the page
+Quote Post
Opok
post 19.10.2012, 14:25:45
Post #8





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.10.2012

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


Nie takie głupie. Oczywiście nie. Po wyrzuceniu CREATE DATABASE ksiazka_kz; USE ksiazka_kz; oraz GRANT SELECT, INSERT, UPDATE, DELETE ON ksiazka_kz.* TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';
mogłem importować bazę ksiazka_kz. ale populacja już wyrzuca masę błedów.

Ogólnie jestem zdania, że nic tu nie powinienem usuwać, aby to działało najwidoczniej nie rozumiem kodu bardziej niż myślałem. Po prostu nie mam podstaw i raczej nawet z waszą pomocą nie uda mi się tego poprawnie odpalić aby działały wszystkie pliki które na serwer wrzuciłem. Chyba, że ktoś z was ma chwilę - podałbym hasła oraz wszelkie pliki - no ale tu rozumiem, że raczej nikt czasu na tyle nie będzie miał.
Jeżeli posiadacie jakiekolwiek linki do podstaw implementacji sql do serwerów lub jakieś key word które mogłyby mnie do tego naprowadzić to byłbym wdzięczny. Bo póki co klikam na oślep
Go to the top of the page
+Quote Post
sazian
post 19.10.2012, 18:33:30
Post #9





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


sprawdziłem u siebie i wszystko działa.

Małe wyjaśnienie:
Na pewno musisz usunąć CREATE DATABASE ksiazka_kz; i USE ksiazka_kz;

pierwsze zapytanie tworzy bazę danych czyli właśnie to co wybrałeś po lewej. Nie możesz utworzyć nowej bazy ponieważ nie masz do tego uprawnień.

Zapytanie USE wybiera bazę danych którą utworzyłeś przy pomocy CREATE DATABASE. Nie możesz jej wybrać ponieważ jej niema (nie masz uprawnień do utworzenia)

Kliknięcie tego "119..." po lewej miało taki sam efekt jak wpisanie USE 119...


Jeżeli tabele już istnieją import nie zadziała ponieważ będziesz próbował utworzyć tabele o nazwie która już istnieje w bazie, więc najpierw usuń wszystkie tabele - są wylistowane po lewej pod nazwą bazy. Wystarczy kliknąć na wybraną tabelę, a następnie w opcjach "delete the table" lub zapytaniem
  1. DROP TABLE nazwa_tabeli


Teraz gdy masz pustą bazę zrób ponownie import - możesz wklejać zapytania bezpośrednio do zakładki SQL.
Najpierw wszystkie zapytania "CREATE TABLE", później inserty

U mnie lokalnie zadziałało wink.gif
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:27