2010-06-10 85 views
0

我在嘗試打印表格的某些數據時遇到了問題。我是新的在這個PHP的MySQL的東西,但我認爲我的代碼是正確的。它是:打印表格數據mysql php

<html> 
<body> 
<h1>Lista de usuários</h1> 
<?php 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="sabs"; // Database name 
$tbl_name="doador"; // Table name 
// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 
$sql="SELECT * FROM $tbl_name"; 
$result=mysql_query($sql); 
while($rows = mysql_fetch_array($result)){ 
    echo $row['id'] . " " .$row['nome'] . " " . $row['sobrenome'] . " " . 
     $row['email'] . " " . $row['login'] . " " . $row['senha'] . " " . 
     $row['idade'] . " ". $row['peso'] . " " . $row['fuma'] . " " . 
     $row['sexo'] . " " . $row['doencas']; 
    echo "<BR/>"; 
} 
mysql_close(); 
?> 

</body> 
</html> 

echo命令的所有列都存在於我的數據庫表中。不要明白爲什麼它不打印這些值。

回答

3

您將接收到的數據分配爲$rows,但您試圖輸出變量$row,該變量不存在。

改變這樣的:

while($row = mysql_fetch_array($result)) 
0

讓我給2建議

  1. 要在將來發現這樣的錯誤,總是在腳本中添加error_reporting(E_ALL);把錯誤報告水平最高。在這種情況下,PHP會告訴你$行變量不存在。

  2. 考慮將你的腳本分爲兩個部分:讓數據部分和顯示數據部分

這樣的:

<?php 
error_reporting(E_ALL); 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="sabs"; // Database name 
$tbl_name="doador"; // Table name 
// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 
$sql="SELECT * FROM $tbl_name"; 
$result=mysql_query($sql) or trigger_error(mysql_error().$sql); 
while($row = mysql_fetch_array($result)){ 
    $DATA = $row[]; 
} 
mysql_close(); 
?> 
<html> 
<body> 
<h1>Lista de usuários</h1> 
<table> 
<? foreach($DATA as $row): ?> 
    <tr> 
    <td><?=$row['id']?></td> 
    <td><?=$row['nome']?></td> 
    <td><?=$row['sobrenome']?></td> 
    <td><?=$row['email']?></td> 
    <td><?=$row['login']?></td> 
    <td><?=$row['senha']?></td> 
    <td><?=$row['idade']?></td> 
    <td><?=$row['peso']?></td> 
    <td><?=$row['fuma']?></td> 
    <td><?=$row['sexo']?></td> 
    <td><?=$row['doencas']?></td> 
    </tr> 
<? endforeach ?> 
</table> 
</body> 
</html> 

HTML部分可以被放入單獨的文件,以緩解工作。
另請注意trigger_error函數將幫助您檢測SQL錯誤