Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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 

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

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. 

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

 

  • 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 von Balboa44

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

Bearbeitet von D-eath

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.