2013-11-04 54 views
0

所以这是我的代码,但它不工作,我只是得到这个检索Mysql数据失败...为什么?

Title Article "; while($row = mysqli_fetch_array($result)) { echo ""; echo "" . $row['Title'] . ""; echo "" . $row['Article'] . ""; echo ""; } echo ""; mysqli_close($con); ?> 

任何想法?

<?php 
$con=mysqli_connect("localhost","____","____","test_database"); 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

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

echo "<table border='1'> 
<tr> 
<th>Title</th> 
<th>Article</th> 
</tr>"; 

while($row = mysqli_fetch_array($result)) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['Title'] . "</td>"; 
    echo "<td>" . $row['Article'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 

mysqli_close($con); 
?> 
+2

看起来像PHP不工作正确。如果您没有看到整个php配置php运行正确,请尝试使用仅调用'phpinfo()' 的文件。 – idmean

+0

wumm建议的原因很可能是PHP的服务器没有启用,请尝试使用'<?php phpinfo();?>'来查看是否有任何结果。但是,如果PHP实际上正在运行,并且MySQL正在运行,那么请尝试使用此代替'echo'

';'看看你得到了什么那。我之前遇到过类似的问题。 –

+0

奇怪,我只是重新保存了几次,并将文件从.php改为.html,然后再次将它改回.php;有效。感谢您的帮助!:) – Alex

回答

1

Tripple检查你的引号设置是否正确。无论是

echo "<table border='1'> 

</tr>"; 

中有一个错误。

你也可以尝试用回声作为一个函数(手镯),它应该察觉的错误更容易:-)

这将是有益的,看的,而不是文本的结果标记;-)

+0

这与此无关。再次检查OP的代码,echo被封装在双引号内,这是完全有效的,但有时使用单引号有时会有所帮助。 [见OP的评论](http://stackoverflow.com/questions/19774195/retrieving-mysql-data-fails-why#comment29390585_19774195) –

0

你必须这样做:

echo "<table border='1'><tr><th>Title</th><th>Article</th></tr>"; 

echo "<table border='1'>"; 
echo "<tr>"; 
echo "<th>Title</th>"; 
echo "<th>Article</th>"; 
echo "</tr>"; 

代替的

echo "<table border='1'> 
<tr> 
<th>Title</th> 
<th>Article</th> 
</tr>"; 
标题 Article