Query: accesso negato

Ciao a tutti.

Dopo essere riuscito a risolvere i problemi legati alla connessione tra gli script PHP e MySQL ho un nuovo problema, stavolta legato all'inserimento dei dati e alle query. In pratica mi sono apparsi questi due WARNING:

connesso con successo

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\www\richiami.php on line 13

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

Errore nella query INSERT INTO utenti (nome,email,sesso,newsletter,attivita,messaggio) VALUES ('Mario Rossi','m.rossi@email.it',1,1,2,'inviatemi del materiale illustrativo'): Access denied for user 'ODBC'@'localhost' (using password: NO)

.

Che significa? da quello che ho capito mi da accesso negato e mi dice anche che non può collegarsi con il server e per quanto riguarda la stringa tra le parentesi ho fatto vari tentativi visto che mi sembra di aver capito che è lì che si cela l'errore. Ho persino provato con il copia e incolla ma l'errore persiste. Cosa mi consigliate di fare? Grazie a chi mi aiuterà :)

Dragodeicieli

inviato 10 anni fa
Dragodeicieli
X 0 X

riporta il codice, deve esserci qualche errore nella mysql_connect, forse il nome o la password che stai usando sono errati.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ti riporto lo script completo del file che ho chiamato "richiami.php":

<?php

// richiamo il file di configurazione

require 'config.php';

// richiamo lo script responsabile della connessione a MySQL

require 'connect.php';

// preparo la query

$query = "INSERT INTO utenti (nome,email,sesso,newsletter,attivita,messaggio) VALUES ('Mario Rossi','m.rossi@email.it',1,1,2,'inviatemi del materiale illustrativo')";

// lancio la query

$result = mysql_query($query);

// controllo l'esito

if (!$result)

{

die("Errore nella query $query: " . mysql_error());

}

// chiudo la connessione a MySQL

mysql_close();

echo 'Query eseguita correttamente';

?>

La funzione "require" non la considerare in quanto prima della lezione sull'inserimento dei dati non mi dava nessun errore, sia l'user che la password - lo ribadisco - sono corrette :) Spero siano indicazioni sufficienti :\

Dragodeicieli

risposto 10 anni fa
Dragodeicieli
X 0 X

C'è qualcosa che non va nella connessione a MySQL, infatti l'errore:

Access denied for user 'ODBC'@'localhost' (using password: NO)

dice che l'accesso è negato per l'utente ODBC che non ha fornito password (questo è l'utente di default utilizzato da PHP per connettersi quando non ci sono connessioni aperte!)

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ho capito.

In questo caso come posso fare per far svanire l'errore?

Grazie ancora :)

Dragodeicieli

risposto 10 anni fa
Dragodeicieli
X 0 X

Riporta il connect.php

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Scusate se mi intrometto nella vostra conversazione ma anche io ho lo stessto problema ma solo su un applicativo PHP che sto sviluppando.

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Programmi\ApacheGroup\Apache2\www\PortaleCliente\php\MenuString.php on line 23

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Programmi\ApacheGroup\Apache2\www\PortaleCliente\php\MenuString.php on line 23

Select della tabella Menu e recupero del Profilo non riuscito, l'errore MySql è:Access denied for user 'ODBC'@'localhost' (using password: NO)

Grazie in anticipo per ulteriori consigli che mi potrete dare.  O0

risposto 10 anni fa
EKELON77
X 0 X
Riporta il connect.php

Come da te richiesto eccoti lo script del file connect.php:

<?php

$link = mysql_connect('localhost', 'root', 'miapass');

if (!$link)

{

die ('Non riesco a connettermi: ' . mysql_error());

}

$db_selected = mysql_select_db('prova', $link);

if (!$db_selected)

{

die ("Errore nella selezione del database: " . mysql_error());

}

echo 'connesso con successo';

mysql_close($link);

?>

Come scritto in precedenza ho rifatto lo script e ora questo va meglio. Grazie ancora per l'aiuto

Dragodeicieli

risposto 10 anni fa
Dragodeicieli
X 0 X

Ecco l'errore: al termine dello script connect.php c'è

mysql_close($link);

ovvero viene chiusa la connessione a MySQL.

Quando vai a lanciare la query, PHP non ha più una connessione aperta con MySQL quindi prova ad aprirla da solo. Ovviamente non avendo nome e password di un utente autorizzato, questo suo tentativo fallisce producendo l'errore di cui sopra.

Se lanciate un phpinfo() vedrete che, nella sezione MySQL, ci sono dei valori di default per host, username e password che PHP usa proprio in questi casi. Tali valori possono essere specificati nel php.ini (ma non vale la pena, basta specificare tutto nello script)

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Grazie di nuovo;

ho cancellato la stringa mysql_close(); da connect.php e adesso va tutto liscio come l'olio :)

Grazie ancora :D

Dragodeicieli

risposto 10 anni fa
Dragodeicieli
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda