PHP: errore connessione a MySQL

marcoa842

Nuovo Utente
9 Mag 2011
14
0
1
Salve, non riesco a connettermi a MySQL da pagina PHP. Mi dice che si deve cambiare la pw per questioni di sicurezza ma tramite pannello ARUBA non mi é permesso.
Il codice che ho utilizzato é questo (ho celato alcune parti di user, uname e pw):

codice:
PHP:
<?php

$hostname = "62.149.150.xxx";
$dbname = "Sql301yyy_4";
$user = "Sql301yyy";
$pass = "ezzzzzze";
$db = new PDO ("mysql:host=$hostname;dbname=$dbname", $user, $pass);

?>
che genera, però, questo messaggio di errore:

"
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file' in D:\inetpub\webs\provailtuositoit\php\pagina.php:9 Stack trace: #0 D:\inetpub\webs\provailtuositoit\php\pagina.php(9) : PDO->__construct('mysql:host=62.1...', 'Sql301yyy', 'ezzzzzze') #1 {main} thrown in D:\inetpub\webs\provailtuositoit\php\pagina.php on line 9
"
Deduco dal messaggio che si tratta di un problema di sicurezza legato a pw e uname.
Fatemi capire dove sbaglio.
P.S.: utilizzo uno spazio su ARUBA e, ovviamente, un DB MySQL
 
Ultima modifica di un moderatore:
Volevi perforza programmare ad oggetti? non puoi fare la classica mysqli_connect() ?
 
Salve. Grazie a tutti per l'aiuto. La situazione si é risolta con un cambio di pw da parte del gestore, dietro mia richiesta, da quella precedente con hashing a 16 byte ad una nuova con hashing a 41 byte. Per il resto, quanto da me utilizzato per la connessione va perfettamente. Grazie nuovamente a tutti.
 
Volevi perforza programmare ad oggetti? non puoi fare la classica mysqli_connect() ?
usare pdo significa programmare ad oggetti ?
mysqli_connect() nella stessa situazione avrebbe risolto il problema ?
scusa il basso livello delle mie domande ma ho poche idee e ben confuse sull'argomento ( come su tutti gli altri .... )
 
ciao
si usando la pdo programmi ad oggetti, comunque se usi la classe pdo non puoi usare mysqli_xxxx

con mysqli puoi programmare a oggetti o procedurale, ecco due sintetici esempi per fare la stessa cosa

procedurale
PHP:
<?php
$conn = mysqli_connect("host", "user", "password", "db");
$q=mysqli_query($conn,"SELECT * FROM tabella");
$num_record=mysqli_num_rows($q);
//ecc....
?>

a oggetti
PHP:
<?php
$conn = new mysqli('host', 'user', 'password', 'db');
$q = $conn->query("SELECT * FROM tabella");
$num_record = $q->num_rows;
//ecc...
?>

con la pdo programmi solo ad oggetti
comunque non mescolare pdo con mysqli, e se usi mysqli la procedurale con quella ad oggetti
 

Discussioni simili