2013-08-20 65 views
0

這將返回一個空白頁:如何使用MySQL和PHP打印單個單元格的值?

<?php 

$con=mysqli_connect("xxx.x.xx.x","user","password","db"); 

// check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$result = mysqli_query($con,"SELECT column FROM table WHERE id=1"); 

print $result; 

mysqli_close($con); 
?> 

而這個返回的數據:

<?php 

$con=mysqli_connect("xxx.x.xx.x","user","password","db"); 

// check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$result = mysqli_query($con,"SELECT * FROM table"); 

while($row = mysqli_fetch_array($result)) 
    { 
    echo $row['column_1'] . " " . $row['column_2']; 
    echo "<br>"; 
    } 

mysqli_close($con); 
?> 

什麼是錯的一個代碼塊,以防止其返回的數據?

+1

「mysqli_query」結果無法打印出來,需要提取數據。請參閱手冊中的示例http://us3.php.net/manual/en/mysqli.query.php –

+2

請嘗試以下操作:'$ row = mysqli_fetch_array(mysqli_query($ con,「SELECT column FROM table WHERE id = 1」 ));' 和輸出使用:'echo $ row ['column'];'' – ninty9notout

回答

1

http://php.net/manual/en/mysqli.query.php

告訴我,mysqli_query返回mysqli_query對象。不是像string或int這樣的原始值。

確切行說,這就是:

返回FALSE失敗。對於成功的SELECT,SHOW,DESCRIBE或 EXPLAIN查詢,mysqli_query()將返回一個mysqli_result對象。對於 其他成功的查詢mysqli_query()將返回TRUE。

因此,第一個塊不起作用,因爲第一個塊假定column中的值會自動返回。

事實上,如果您使用的是相同的SELECT column from table where id=1,您仍然必須使用while循環來提取值,因爲它仍然是您要返回的mysqli_result對象。

通過while循環,我的意思是這樣的:

while($row = mysqli_fetch_array($result)) 
{ 
    echo $row['column_1']; 
    echo "<br>"; 
} 

我希望這回答了你的問題。