打印表数据mysql php

时间:2010-06-10 11:15:29

标签: php mysql database printing

我在尝试打印表格的某些数据时遇到问题。我是这个php mysql的新手,但我认为我的代码是正确的。这是:

<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命令的所有列都存在于数据库的表中。不明白为什么它不打印这些值。

2 个答案:

答案 0 :(得分:3)

您已将收到的数据指定为$rows,但您正在尝试输出不存在的变量$row

像这样改变:

while($row = mysql_fetch_array($result))

答案 1 :(得分:0)

让我给出2条建议

  1. 要在将来发现此类错误,请始终通过在脚本中添加error_reporting(E_ALL);来最大限度地提高错误报告级别。在这种情况下,PHP会告诉你$ row变量不存在。

  2. 考虑将脚本分为两部分:获取数据部分和显示数据部分

  3. 像这样:

    <?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错误