2013-08-20 35 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>"; 
} 

我希望这回答了你的问题。