Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Access denied for user 'SYSTEM'@'localhost' (using password: NO)
pawlin
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.08.2010

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


witam, ucze sie php z ksiazki PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie czwarte a za serwer uzywam WampServer.
w rozdziale 28 jest zrobiona przykladowa ksiegarnia online i tam mam problem. po zalogowaniu sie na admina i mozliwosci np dodania kategorii wyskakuje blad:
Cytat
Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in D:\wamp\www\rozdzial_28\funkcje_admin.php on line 175

oraz
Cytat
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in D:\wamp\www\rozdzial_28\funkcje_admin.php on line 175

  1. $zapytanie = "select *
  2. from kategorie
  3. where nazwakat='".$nazwakat."'";
  4. $wynik = mysql_query($zapytanie); // TO JEST TA 175 linia
  5. if ((!$wynik) || (mysql_num_rows($wynik)!=0)) {
  6. return false;
  7. }


tak wyglada laczenie z baza

  1. function lacz_bd() {
  2. $wynik = new mysqli('localhost', 'ksiazka_kz', 'haslo', 'ksiazka_kz');
  3. if (!$wynik) {
  4. return false;
  5. }
  6. $wynik->autocommit(TRUE);
  7. return $wynik;
  8. }


a to bylo dodane przy tworzeniu bazy

  1. GRANT SELECT, INSERT, UPDATE, DELETE
  2. ON ksiazka_kz.*
  3. TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';



ksiazki normalnie wyswietlaja sie z bazy danych, problem jest tylko z dodawaniem, edycja i usuwaniem.

prosze o pomoc
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




No jak byk pisze. Łączy się z bazą za pomocą usera: SYSTEM, bez hasła. Na pewno dobrze wywołujesz podłączenie do bazy? Bo moim zdaniem coś nie teges (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
pawlin
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.08.2010

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


to jest skopiowane z przykladow od tej ksiazki, wiec polaczenie powinno byc dobre, tym bardziej ze przeciez pobieranie danych dziala. tylko czemu w tym wypadku nie dziala i czemu loguje sie akurat przez usera SYSTEM? hasla do mysql nie mam ustawionego, wiec powinno dzialac.
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Pokaż kawałek kodu gdzie masz to użyte, bo jak dla mnie to nigdzie nie używasz w pliku łączenia z baza, tylko od razu walisz zapytanie. Jeśli zamknięte masz drzwi to próbujesz przez nie przejść czy będziesz starał najpierw je otworzyć? (IMG:style_emoticons/default/winksmiley.jpg) Bo jak dla mnie uparcie próbujesz przez nie przejść bez otwierania (wywołania połączenia z bazą). Co z tego, że zaincludujesz plik z łączeniem, skoro niekoniecznie do łączenia dochodzi, bo funkcji możesz nie wywoływać.
Go to the top of the page
+Quote Post
pawlin
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.08.2010

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


tutaj np dodanie kategorii

  1. function dodaj_kat($nazwakat) {
  2.  
  3. $lacz = lacz_bd();
  4.  
  5. $zapytanie = "select *
  6. from kategorie
  7. where nazwakat='".$nazwakat."'";
  8. $wynik = mysql_query($zapytanie);
  9. if ((!$wynik) || (mysql_num_rows($wynik)!=0)) {
  10. return false;
  11. }
  12.  
  13.  
  14. $zapytanie = "insert into kategorie values
  15. ('', '".$nazwakat."')";
  16. $wynik = mysql_query($zapytanie);
  17. if (!$wynik) {
  18. return false;
  19. } else {
  20. return true;
  21. }
  22. }


tak wyglada laczenie z baza
  1. function lacz_bd() {
  2. $wynik = new mysqli('localhost', 'ksiazka_kz', 'haslo', 'ksiazka_kz');
  3. if (!$wynik) {
  4. return false;
  5. }
  6. $wynik->autocommit(TRUE);
  7. return $wynik;
  8. }


a to jeszcze bylo dodane przy tworzeniu bazy

  1. GRANT SELECT, INSERT, UPDATE, DELETE
  2. ON ksiazka_kz.*
  3. TO ksiazka_kz@localhost IDENTIFIED BY 'haslo';


pozdrawiam

a moze to ma cos wspolnego z tym, ze te tabele sa typu InnoDB ?


  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';



dodalem tez haslo do mysql, w plikach konfiguracyjnych i nic, dalej to samo:(

Ten post edytował pawlin 27.08.2010, 13:36:06
Go to the top of the page
+Quote Post
glh
post
Post #6





Grupa: Zarejestrowani
Postów: 97
Pomógł: 20
Dołączył: 18.12.2007
Skąd: Poznań

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


Przy łączeniu korzystasz z mysqli, a zapytania wysyłasz używając mysql.
Albo mysqli albo mysql. Zdecyduj się.
Może w tym tkwi problem.
Go to the top of the page
+Quote Post
pawlin
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.08.2010

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


masz racje, teraz dziala (IMG:style_emoticons/default/smile.gif) ja to skopiowalem z ksiazki i oni tam tak namieszane maja. wielkie dzieki za pomoc (IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.08.2025 - 22:29