Veröffentlicht 15. Mai 20223 j Hey, ich möchte meine erste eigene Webseite erstellen. Wenn ich per PHP einen Datenbank Zugang erstellen möchte, bekomme ich die Fehlermeldung: Fatal error: Uncaught Error: Class "mysqli" not found in D:\Programme\xamp\htdocs\GSoftWebsite.php:17 <?php //phpinfo(); $mysqli = new mysqli('mysql:host=localhost;dbname=Website', 'root', ''); ?> Ich habe XAMP installiert und Apache bzw. MySQL aktiviert. Öffne ich die Seite im Browser, steht dort: Warning: mysqli::__construct(): php_network_getaddresses: getaddrinfo for mysql failed: Der angegebene Host ist unbekannt. in D:\Programme\xamp\htdocs\GSoftWebsite.php on line 17 Fatal error: Uncaught mysqli_sql_exception: php_network_getaddresses: getaddrinfo for mysql failed: Der angegebene Host ist unbekannt. in D:\Programme\xamp\htdocs\GSoftWebsite.php:17 Stack trace: #0 D:\Programme\xamp\htdocs\GSoftWebsite.php(17): mysqli->__construct('mysql:host=loca...', 'root', '') #1 {main} thrown in D:\Programme\xamp\htdocs\GSoftWebsite.php on line 17 Ich google jetzt seit über zwei Wochen und versteh einfach nicht, woran es liegen könnte. Als IDE benutze ich Visual Studio Code. Die Intellisense schlägt mir MySQL Klassen vor, aber kann beim Ausführen, nichts damit anfangen. Hoffe Ihr könnt mir weiterhelfen. Ich bin langsam sehr frustriert. Liebe Grüße Balboa44
15. Mai 20223 j Hallo, naja, die Fehlermeldung ist ja eindeutig. Darf man fragen wie du auf diese Parameter kommst? new mysqli('mysql:host=localhost;dbname=Website', 'root', ''); Nach der PHP Doku muss der Konstruktoraufruf von mysqli so aussehen: new mysqli("localhost", "user", "password", "database"); Muss aber an der Stelle auch sagen, dass ich mit PHP nicht mehr so gut vertraut bin. Aber vielleicht hilft dir das weiter. MfG
15. Mai 20223 j Autor vor 12 Minuten schrieb Interrupt: Hallo, naja, die Fehlermeldung ist ja eindeutig. Darf man fragen wie du auf diese Parameter kommst? new mysqli('mysql:host=localhost;dbname=Website', 'root', ''); Nach der PHP Doku muss der Konstruktoraufruf von mysqli so aussehen: new mysqli("localhost", "user", "password", "database"); Muss aber an der Stelle auch sagen, dass ich mit PHP nicht mehr so gut vertraut bin. Aber vielleicht hilft dir das weiter. MfG Die Parameter sind erstmal unwichtig, würde ich sagen, weil ich ja gar nicht erst die Klassen finden/benutzen kann. Ich denke, ich würde es später so machen: <?php $pdo = new PDO('mysql:host=localhost;dbname=databasename', 'username', 'password'); ?> aber auch die PDO Klasse wird nicht gefunden Aber vielen Dank, vielleicht hilft mir das später.
15. Mai 20223 j Moin, vor 5 Minuten schrieb Balboa44: Ich denke, ich würde es später so machen: PDO statt mysqli zu verwenden ist auf jeden Fall eine gute Entscheidung. Aber deine Fehlermeldungen passen nicht zueinander. Der eine Fehler sagt ja, dass die Klasse nicht geladen werden kann, der andere besagt, dass die Klasse versucht eine Verbindung zur Datenbank herzustellen, diese aber nicht erreicht (wie schon gesagt wurde, die Parameter sind falsch). Dadurch ist es jetzt auch nicht so einfach, Hinweise zu geben.
15. Mai 20223 j Autor Wenn ich es so mache : $mysqli = new mysqli('localhost', 'root', '', 'Website'); Fatal error: Uncaught Error: Class "mysqli" not found in D:\Programme\xamp\htdocs\GSoftWebsite.php:15 Stack trace: #0 {main} thrown in D:\Programme\xamp\htdocs\GSoftWebsite.php on line 15 Wenn ich die Seite im Browser aufrufe, wird dort kein Fehler mehr angezeigt. Wenn ich es so mache: $pdo = new PDO('mysql:host=localhost;dbname=Website', 'root', ''); Fatal error: Uncaught PDOException: could not find driver in D:\Programme\xamp\htdocs\GSoftWebsite.php:18 Stack trace: #0 D:\Programme\xamp\htdocs\GSoftWebsite.php(18): PDO->__construct('mysql:host=loca...', 'root', '') #1 {main} thrown in D:\Programme\xamp\htdocs\GSoftWebsite.php on line 18 Wenn ich die Seite im Browser aufrufe, wird dort kein Fehler mehr angezeigt.
15. Mai 20223 j Autor vor 27 Minuten schrieb Balboa44: Wenn ich es so mache : $mysqli = new mysqli('localhost', 'root', '', 'Website'); Fatal error: Uncaught Error: Class "mysqli" not found in D:\Programme\xamp\htdocs\GSoftWebsite.php:15 Stack trace: #0 {main} thrown in D:\Programme\xamp\htdocs\GSoftWebsite.php on line 15 Wenn ich die Seite im Browser aufrufe, wird dort kein Fehler mehr angezeigt. Wenn ich es so mache: $pdo = new PDO('mysql:host=localhost;dbname=Website', 'root', ''); Fatal error: Uncaught PDOException: could not find driver in D:\Programme\xamp\htdocs\GSoftWebsite.php:18 Stack trace: #0 D:\Programme\xamp\htdocs\GSoftWebsite.php(18): PDO->__construct('mysql:host=loca...', 'root', '') #1 {main} thrown in D:\Programme\xamp\htdocs\GSoftWebsite.php on line 18 Wenn ich die Seite im Browser aufrufe, wird dort kein Fehler mehr angezeigt. Also ich habe jetzt einen Datenbank Zugriff und kann damit arbeiten, aber die Fehlermeldungen sind mir ein Rätsel Danke für eure schnelle Hilfe 🙌 Bearbeitet 15. Mai 20223 j von Balboa44
17. Mai 20223 j Du musst vermutlich die mysqli Extension in deiner php.ini aktivieren, wenn die Klasse nicht gefunden wird. Bearbeitet 17. Mai 20223 j von D-eath
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.