Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    PHP: connessione a db MySQL

    Salve, sto passando a php e non riesco a connettermi a db MySQL. Ho cercato nelle varie discussioni di questo e altri forum ma non trovo soluzione. Ad esempio sto utilizzando il seguente script:

    codice:
    $hostname='62.149.150.xxx';
    $dbname = 'Sql301xxx_4';
    $username = 'Sql301xxx';
    $pw = 'exxxxxxe';
    
    
    $dbh = new PDO('mysql:host=62.149.150.106;dbname=Sql301484_4', $username, $pw);
    Qualcuno sa indicarmi un procedimento corretto?
    Grazie in anticipo
    P.S.: con le "x" ho chiaramente celato, in questo contesto, parti dei dati di accesso

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    qui trovi un modo per gestire gli errori con PDO: http://php.net/manual/en/pdo.error-handling.php

    io credo che la connessione non riesca perché il server MySQL non consente accessi dall'esterno (in genere, per motivi di sicurezza, si usa consentire l'accesso solo da macchine in indirizzi locali)

  3. #3
    Grazie per la risposta. Ma vedi che io interrogo MySQL da server Aruba su cui é poggiata la pagina. Utilizzo da sempre asp e asp.net e non ho mai avuto problemi di connessione. Ma con PHP non riesco. Sai farmi un esempio funzionante in modo che possa studiarne la struttura?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    inizia a gestire l'errore come nella pagina che ti ho linciato e posta il risultato

  5. #5
    Ok. Intanto scusami ma vorrei togliermi un dubbio: ho visto in vari tutorials valorizzare la variabile che conterrà ò' ID restituito a connessione avvenuta e mi sembra tutto molto chiaro come segue

    codice:
    $db = mysql_connect("ipdelserver","pw","ui");
    Però mi chiedo come possa connettersi ad un db di MySql senza indicare di fatto il database?
    Nella stringa di connessione con ASP io indico anche il database (ad esempio "Sql_343212_3")
    Che mi dici in merito?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    perchè dopo devi utilizzare: mysqli_connect_db per indiricare db...

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se usi PDO, il DB lo indichi nella stringa di connessione (e infatti lo hai fatto)
    se usi le funzioni mysqli* (non usare quelle mysql, sono deprecate), puoi passare il nome del DB quando definisci l'istanza della classe (in stile procedurale lo puoi passare alla funzione mysqli_connect()) oppure usi la funzione mysqli_select_db()

  8. #8
    Salve. Innanzitutto mi scuso per non aver scritto oggi ma ho avuto problemi.
    Ho provato entrambe le funzioni mysqli (e non mysql che so bene essere deprecata) e pdo, ma nulla. Sempre errore.
    Mi interesserebbe approfondire l'utilizzo di PDO, se possibile.
    Il codice che ho utilizzato é questo (ho celato alcune parti di user, uname e pw):

    codice:
    <?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 marco.agelao; 26-06-2017 a 00:49

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    credo tu debba contattare chi ti fornisce il servizio di hosting e aggiornare la password di MySQL

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Dovresti poter risolvere con un:

    codice:
    SET PASSWORD FOR 'miouser'@'localhost' = PASSWORD('miapass');

    Così da ricreare la password con il nuovo algoritmo di hashing compatibile con mysql 4.1+.
    Credo tu abbia a disposizione phpmyadmin per farlo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.