Zum Inhalt springen
  • 0

PHP Fatal error: Uncaught Error: Class not found


Balboa44

Frage

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

6 Antworten auf diese Frage

Empfohlene Beiträge

  • 1

Du musst vermutlich die mysqli Extension in deiner php.ini aktivieren, wenn die Klasse nicht gefunden wird.

Bearbeitet von D-eath
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0
Gast 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 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0
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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

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. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

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.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0
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 von Balboa44
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...