# mysqli



## hahni (15. Aug. 2009)

Hallo zusammen,

habe das Problem, dass Connects mit dem PHP-Befehl "mysqli_connect" nicht funktionieren. Die Datenbank sowie der Benutzername stimmt. Kann es sein, dass das mysqli-Paket nicht aktiviert ist und deswegen keine Datenbank-Anmeldung erfolgen kann?

---
    public function getConnection(){
        $conn = mysqli_connect(Config::MYSQL_SERVER_NAME,Config::MYSQL_DB_USERID,Config::MYSQL_DB_PASSWORD,Config::MYSQL_DATABASE_NAME) or die ("Keine Verbindung zur Datenbank möglich!");
        return $conn;
    }
---

Viele Grüße

Hahni

P.S.:
Auf einem alten Server, den ich nicht betreute, soll die Software schon mal gelaufen sein. Es kann also nur an Datenbankzugriffen liegen. Die Kennungen wie gesagt stimmen.


----------



## Till (16. Aug. 2009)

Schau doch mal mit phpinfo() nach, ob mysqli aktiv ist.


----------



## hahni (16. Aug. 2009)

Hallo Till,

mysqli ist aktiv:
---
*mysqli*

  MysqlI Supportenabled Client API library version 5.0.51a  Client API header version 5.0.51a  MYSQLI_SOCKET /var/run/mysqld/mysqld.sock
---

Ich habe schon das andere Problem ausgemacht: leider werden die Passwörter auf dem neuen System anders verschlüsselt als auf dem alten, wenn man im SQL-Statement den Befehl PASSWORD zum Verschlüsseln von Werten mit angbibt. Dies ist auch der Grund, warum es mit den Logins nicht funktioniert. Woran liegt diese unterschiedliche Verschlüsselung und was kann getan werden, damit die alten Kennungen wieder "erkannt" werden?

Viele Grüße

Hahni


----------



## Till (18. Aug. 2009)

> Woran liegt diese unterschiedliche Verschlüsselung und was kann getan werden, damit die alten Kennungen wieder "erkannt" werden?


das liegt an der mysql Version. Mysql hat den Verschlüsseöungsalgorithmus bei der umstellung von Version 4 auf 4.1 oder neuer geändert.

http://dev.mysql.com/doc/refman/5.1/en/old-client.html
http://dev.mysql.com/doc/refman/5.1/de/password-hashing.html


----------



## hahni (18. Aug. 2009)

Hallo Till,

besten Dank für deine Mithilfe. Genau diese Antwort hat mich sehr weiter gebracht. Im Endeffekt muss ich derzeit nur die SQL-Statments abwandeln, indem ich "OLD_PASSWORD" statt bisher "PASSWORD" einsetze? So jedenfalls habe ich es laut Anleitung verstanden.

Viele Grüße

Hahni


----------



## Till (19. Aug. 2009)

Ja, das sollte so gehen.


----------

