2010-06-10 83 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错误