2013-11-04 48 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