2017-08-13 137 views
0

我不知道這個代碼出了什麼問題。我有一段內容存儲在數據庫中,但出於某種原因,我無法顯示它。任何幫助將不勝感激,我是一個新的開發人員,並歡迎任何反饋。PHP到MySQL數據庫連接

<?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); 
?> 

回答

1

echo $row;您錯過了要回顯的列對象的數組本身。

你想要的是echo $row[0];

然而,列和表名是相同的,所以一定要確保這是確實是正確的。

按手冊:

$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); 
} 

如果上述失敗,那麼這可能意味着你的查詢可能失敗:

例如,從手工拉並且您需要使用mysqli_error($conn)檢查查詢中的錯誤。

參考:

同樣的事情會進行連接。

參考:

例如,從手冊:

<?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

太好了,謝謝大家的幫助。現在,如果我需要多次使用該代碼塊,最好是將它放在一個函數中嗎?但如果我這樣做,你如何控制顯示哪一行? – Rjoel98

+0

@ Rjoel98不客氣。如果你需要多次顯示某些東西,那將取決於「如何」,而且有多種方法可以做到這一點,實際上太多了。如果你打算使用一個函數,那麼你需要確保你在函數內傳遞你的數據庫連接,否則你會得到一個可變範圍問題。以下是有關變量範圍的Stack https://stackoverflow.com/q/16959576/1415724上的一個問答。如果您想要遍歷不同的頁面,那麼您需要爲此http://php.net/manual/en/book.session.php使用會話或包含該文件。 –

+0

@ Rjoel98關於你:*「但是,如果我這樣做,你如何控制哪一行顯示?」 - 再次,許多方法來做到這一點。 '[0]'和'[1]'對象數組控制您在查詢中選擇的序列中的哪一列,如我從手冊中獲取的示例所示。你也可以使用其他一些函數,例如http://php.net/manual/en/class.mysqli-result.php中概述的 - 例如'mysqli_fetch_assoc()'使用一個關聯數組'$ row [「Name」 ],$ row [「CountryCode」]'所以你可以使用這些名稱,如果這使得跟蹤作爲給定列的名稱更容易。查看該頁面上的其他功能。 –