2017-08-13 4 views
0

Ich bin mir nicht sicher, was mit diesem Code schief geht. Ich habe einen Absatz in der Datenbank unter Inhalt gespeichert, aber aus irgendeinem Grund kann ich es nicht zur Anzeige bringen. Jede Hilfe würde sehr geschätzt werden, ich bin ein neuer Entwickler und begrüße jedes Feedback.PHP zu MySQL Datenbank Verbindung

<?php 
require_once('db_connection.php'); //connection credentials 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

$sql = "SELECT content FROM content"; 
$result = mysqli_query($conn, $sql); 

while($row = mysqli_fetch_row($result)) { 
    echo $row; 
} 

mysqli_close($conn); 
?> 

Antwort

1

echo $row; Sie die Array-Objekts Spalte fehlt selbst, die Sie echo wollen.

Was Sie wollen, ist echo $row[0];

jedoch beide Spalte und Tabellenname gleich sind, so stellen Sie sicher, dass das in der Tat richtig ist.

Gemäß dem Handbuch:

Beispiel aus dem Handbuch gezogen:

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5"; 

if ($result = mysqli_query($link, $query)) { 

    /* fetch associative array */ 
    while ($row = mysqli_fetch_row($result)) { 
     printf ("%s (%s)\n", $row[0], $row[1]); 
    } 

    /* free result set */ 
    mysqli_free_result($result); 
} 

Wenn die oben fehlgeschlagen ist, bedeutet, dass könnte dann, dass Ihre Abfrage möglicherweise fehlgeschlagen und Sie müssen mit der mysqli_error($conn) auf Fehler in der Abfrage überprüfen.

Referenz:

Das Gleiche gilt für die Verbindung.

Referenz:

Beispiel aus dem Handbuch:

<?php 
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db"); 

if (!$link) { 
    echo "Error: Unable to connect to MySQL." . PHP_EOL; 
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; 
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; 
    exit; 
} 

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; 
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; 

mysqli_close($link); 
?> 
+0

Wunderbar, danke für die Hilfe. Jetzt, wenn ich diesen Block des Codes mehrere Male benutzen muss, wäre es das beste für mich, es in eine Funktion richtig zu stellen? Aber wenn ich das tue, wie kontrollierst du, welche Zeile angezeigt wird? – Rjoel98

+0

@ Rjoel98 Gern geschehen. Wenn Sie etwas mehrmals anzeigen müssen, hängt das von "wie" genau ab und es gibt mehrere Möglichkeiten, dies zu tun, zu viele tatsächlich. Wenn Sie eine Funktion verwenden möchten, müssen Sie sicherstellen, dass Sie Ihre db-Verbindung innerhalb der Funktion übergeben, andernfalls erhalten Sie ein Problem mit dem variablen Bereich. Hier ist ein Q & A zu diesem Thema auf Stack https://StackOverflow.com/q/16959576/1415724 auf Variable Scoping. Wenn Sie verschiedene Seiten durchlaufen möchten, müssen Sie Sitzungen für diese http://php.net/manual/de/book.session.php verwenden oder die Datei einschließen. –

+0

@ Rjoel98 Über deine: * "Aber wenn ich das tue, wie kontrollierst du, welche Reihe angezeigt wird?" * - Wieder viele Möglichkeiten, dies zu tun. Die '[0]' - und '[1]' -Objektfelder steuern, welche Spalte in ihrer Reihenfolge Sie in der Abfrage ausgewählt haben, wie in dem Beispiel gezeigt, das ich aus dem Handbuch gezogen habe. Sie können auch ein paar andere Funktionen verwenden, wie zum Beispiel in http://php.net/manual/en/class.mysqli-result.php - 'mysqli_fetch_assoc()' zum Beispiel verwendet ein assoziatives Array $ Zeile ["Name" ], $ row ["CountryCode"] ', so dass Sie die Namen verwenden können, wenn dies die Verfolgung als Namen für die angegebenen Spalten erleichtert. Siehe die anderen Funktionen auf dieser Seite. –