Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Access denied for user
Forum PHP.pl > Forum > Przedszkole
Kshyhoo
Dawno się rak nie zakręciłem...
  1. mysql_connect($dhost, $user, $pword)
  2. or die('Wystapił błąd połączenia z serwerem MySQL');
  3. // wybor i polaczenie z baza danych
  4. or die('Wystąpił błąd połączenia z bazą danych');
  5.  
  6. mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");

i kod:
  1. function ControllaRecord ($user, $pword, $dhost, $dbase, $dtable, $wordid, $tempo, $tentativi)
  2. {
  3. $chk = array(false);
  4. $res = mysql_query('SELECT * FROM '.$dtable.' WHERE id='.$wordid); // 42
  5. $riga = $res;
  6. if ($tentativi<$riga[3] or ($tentativi==$riga[3] and $tempo<$riga[4]))
  7. $chk[0] = true;
  8. if ($riga[3]==6) $riga[2]='*nuovo**';
  9. $chk[1] = $riga[2];
  10. $chk[2] = $riga[3];
  11. $chk[3] = $riga[4];
  12. mysql_close(); // 50
  13. return $chk;
  14. }

zwraca:
Cytat
Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\AppServ\www\...\index.php on line 42

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\AppServ\www\...\index.php on line 42

Warning: mysql_close(): no MySQL-Link resource supplied in C:\AppServ\www\...\index.php on line 50

MySQL działa, uprawnienia dla root nadane, hasło istnieje.
jaslanin
źle masz ustawione połączenie z bazą danych dokładnie $user, $pword

z komunikatów wynika że próbujesz się logować jako: SYSTEM, a nie jako root.

Pisze bowiem:

Access denied for user 'SYSTEM'@'localhost'

ustaw zmienne $user, $pword w jakimś configu i będzie ok

ewentualnie próbuj debugować co zawiera zmienna $user lub czy nie łączy się z bazą danych jakiś inny skrypt i zmienia config połączenia
Kshyhoo
YY
  1. $user = 'root';
  2. $pword = '*******';
  3. $dhost = 'localhost';

Wszytko inne chodzi...
viking
Według tego co tu wkleiłeś logujesz się jako system bez hasła. Sprawdź pliki czy na pewno to wczytujesz.
Kshyhoo
Dziwne to, bo inne skrypty działają bez problemu. phpMyAdmin pokazuje tak:
Cytat
MySQL

Serwer: MySQL host info: localhost via TCP/IP
Wersja serwera: 5.5.20
Wersja protokołu: 10
Użytkownik: root@localhost
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)

Serwer WWW

Apache/2.2.8 (Win32) PHP/6.0.0-dev
Wersja klienta MySQL: mysqlnd 5.0.4-dev - 080501 - $Revision: 1.17 $
Rozszerzenie PHP: mysql Dokumentacja
viking
To co teraz wkleiłeś nie ma żadnego znaczenia. Zrób test na czystym pliku. Tylko login, hasło i połączenie do bazy. Swoją drogą myślałeś żeby na PDO przejść?
Kshyhoo
Ja z obiektówką na bakier...

W innych skryptach chodzi bez problemu, również "skomplikowanych". Nie wiem dlaczego ten chce łączyć się jako SYSTEM a nie ROOT.
nospor
var_dump($user);
Kshyhoo
Cytat
string(4) "root"
nospor
Ale dałeś to przed samym ferelnym
mysql_connect($dhost, $user, $pword)
?

Czekaj, czekaj.....
Warning: mysql_query() [function.mysql-query]: Access denied for user 'SYSTEM'@'localhost' (using password: NO) in C:\AppServ\www\...\index.php on line 42
Która to jest konkretnie linia 42?
Kshyhoo
Jest w pierwszym poście, to zapytanie:
  1. $res = mysql_query('SELECT * FROM '.$dtable.' WHERE id='.$wordid);
nospor
No to w takim razie ten kod:
mysql_connect($dhost, $user, $pword)
or die('Wystapił błąd połączenia z serwerem MySQL');
// wybor i polaczenie z baza danych
mysql_select_db($dbase)
or die('Wystąpił błąd połączenia z bazą danych');

mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
nie jest wykonywany. Bo to nie możliwe by nagle znikało samo z siebie połączenie do bazy smile.gif No chyba ze ty gdzies po drodze robisz jeszcze mysql_close
Kshyhoo
nospor, geniusz jesteś. Zamykałem połączenie w każdej funkcji ;p

To jest tak, jak się człowiek uczy na przykładach a na błędach...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.