2013-03-29 83 views
0

我是PHP和MySQL的新手。我嘗試伸出MySQL表(3列)並列出行。但是下面的代碼不會顯示任何內容(空白頁)。有人有想法嗎?PHP代碼。哪裏不對?

<?php 

$db = mysql_connect('localhost', 'root', 'root', 'database_name'); 

if(!$db){ 
die('Connect Error (' . mysqli_connect_errno() . ') ' 
     . mysqli_connect_error()); 
} 

$result = "SELECT * FROM table_name"; 

$query = mysqli_query($result); 

$row = mysqli_fetch_array($query, MYSQLI_NUM); 

echo $row[0]; 

mysqli_free_result($result); 

mysqli_close($db); 

?> 
+4

首先你要在'mysql_'和'mysqli_'函數之間切換... – jeremy

+0

你需要打開和關閉錯誤報告。第一行應該是'mysqli_connect' –

回答

5

MySQL的之間的mysqli切換。

你應該連接到數據庫這樣的:

$db = new mysqli('host', 'username', 'password', 'database'); 

運行查詢:

$query = "SELECT * FROM my_table"; 
$result = $db->query($query); 

此外,通過結果像這樣的循環:

while($row = mysqli_fetch_array($result)) { 
    echo $row['column_name']; 
} 

有更高級的概念,如prepared statements,但這應該讓你在正確的方向。

+0

我忘了放一個「我」。現在變成了面向對象,並且工作。謝謝! – user2221869

0

我認爲首先,檢查您的數據以確保至少有一行。 如果沒有行,echo $ row [0]將導致錯誤。但是,因爲您沒有在屏幕上看到任何內容,所以最好在php.ini中查看error_reporting設置。將其更改爲E_NOTICE,所有錯誤/通知將顯示給您。

0

您正在混合您的數據庫層API。

MySQL_ *和MySQLI_ *函數不同,包含不同的用法等。

您應該離開MySQL_ *函數。在這裏閱讀手冊:

http://www.php.net/manual/en/book.mysqli.php

你有面向對象或MySQL的程序風格之間的選擇。

通過閱讀有關__construct的內容來連接到數據庫。