Seite 1 von 1

Per PHP auf Datenbank zugreifen

Verfasst: 04.11.2024 19:45
von margebsa
Liebe PHP-Gemeinde,

als absoluter Anfänger wage ich mich gerade in die Welt von PHP, Apache, phpMyAdmin und Co. Nach drei Tagen habe ich es dann auch mal geschafft, so glaube ich jedenfalls, alles von Hand korrekt installiert zu haben. Gebe ich in die Adressleiste meines IExplorers nun "localhost:8080" ein, erscheint eine "Index of"-Seite unter Auflistung aller .html und .php Dokumente, die ich unter Apache24/htdocs abgelegt habe. In diesem Ordner habe ich ebenfalls phpmyadmin abgelegt, dessen Anmeldebildschirm ich somit über "http://localhost:8080/phpMyAdmin/" erreiche. Nun meine Frage, wie hinterlege ich diesen Pfad in den PHP-Code, wenn ich in phpmyadmin eine Testdatenbank (mit gleichlautendem Namen) angelegt habe. Ich habe alle Kombinationen durchgespielt - aber der Bildschirm bleibt weiß. Wo liegt der Fehler?
Gebe ich im IExplorer nur "localhost" ohne Portangabe ein, lande ich auf der InfoSeite vom Internet-Informations-Dienst.
Folgender Snippet zum Darstellen meines bisherigen Ansatzes:

Code: Alles auswählen

<?php

// Datenbankverbindung konfigurieren
define('DB_HOST', 'localhost');     // Host
define('DB_NAME', 'testdatenbank');  // Name der Datenbank
define('DB_USER', 'root'); // Username phpmyadmin
define('DB_PASS', 'xxx');     // Passwort phpmyadmin
define('DB_PORT', '8080');     // Port

// Verbindung zur Datenbank herstellen
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);

// Prüfen, ob die Verbindung erfolgreich war
if ($mysqli->connect_error) {
    die("Verbindungsfehler: " . $mysqli->connect_error);
}

// SQL-Statement zur Abfrage aller Datensätze aus der Tabelle "Anrede"
$sql = "SELECT * FROM Anrede";
$result = $mysqli->query($sql);

// Überprüfen, ob Ergebnisse vorliegen
if ($result->num_rows > 0) {
    echo "<table border='1'>";
    echo "<tr>";
    
    // Tabellenüberschriften basierend auf den Spaltennamen generieren
    $fields = $result->fetch_fields();
    foreach ($fields as $field) {
        echo "<th>" . htmlspecialchars($field->name) . "</th>";
    }
    echo "</tr>";
    
    // Datensätze in der Tabelle anzeigen
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        foreach ($row as $value) {
            echo "<td>" . htmlspecialchars($value) . "</td>";
        }
        echo "</tr>";
    }
    echo "</table>";
} else {
    echo "Keine Datensätze in der Tabelle 'Anrede' gefunden.";
}

// Ergebnis und Verbindung schließen
$result->free();
$mysqli->close();
?>

Re: Per PHP auf Datenbank zugreifen

Verfasst: 04.11.2024 19:56
von Scanialady
Zur Information: du bist hier auf dem deutschsprachigen Supportforum für phpBB - das ist eine Forensoftware. Serverproblematiken sind hier also nur ein Randthema. In der Hoffnung, dass dir vielleicht dennoch jemand darauf antworten kann, habe ich das Thema entsprechend zugeordnet.

Re: Per PHP auf Datenbank zugreifen

Verfasst: 04.11.2024 19:59
von margebsa
Danke für die neue Zuordnung...

Re: Per PHP auf Datenbank zugreifen

Verfasst: 04.11.2024 20:16
von chris1278
Ich würde aufjedenfall mal vorschlagen den datenb ank port in deinem snipet auf 3306 zu änern. Das ist normalerweise der port für die datenbank.

Desweiteren wenn es sich bei dir um die lokale testumgebung handelt hat der user root im normalfall kein passwort und müsste daher kleer bleiben.