php – 显示mysql表中的所有记录

下面的代码适用于从数据库表中打印一条记录,但我真正希望能够做的是以类似于我的代码的格式打印mysql表中的所有记录.

I.E.:字段名称作为html表中每列的标题和标题下方的条目.希望这对某人有意义;)

        $raw = mysql_query("SELECT * FROM tbl_gas_meters");
        $allresults = mysql_fetch_array($raw);
        $field = mysql_query("SELECT * FROM tbl_gas_meters");
        $num_fields = mysql_num_fields($raw);   
        $num_rows = mysql_num_rows($raw);   
        $i = 1;

            print "<table border=1>\n";
            while ($i < $num_fields)
            {
                echo "<tr>";
                echo "<b><td>" . mysql_field_name($field, $i) . "</td></b>";
                //echo ": ";
                echo '<td><font color ="red">' . $allresults[$i] . '</font></td>';
                $i++;
                echo "</tr>";
                //echo "<br>";
            }
            print "</table>";
最佳答案
正如您应该使用PDO的另外一条信息.它具有更多功能,有助于学习如何准备SQL语句.如果您编写更复杂的代码,它也会为您提供更好的服务.

http://www.php.net/manual/en/intro.pdo.php

此示例使用对象而不是数组.不一定重要,但它使用较少的字符,所以我喜欢它.当您深入了解对象时,差异确实存在,但在此示例中则不然.

//connection information
$user = "your_mysql_user";
$pass = "your_mysql_user_pass";
$dbh = new PDO('mysql:host=your_hostname;dbname=your_db;charset=UTF-8', $user, $pass);

//prepare statement to query table
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
//loop over all table rows and fetch them as an object
while($result = $sth->fetch(PDO::FETCH_OBJ))
{
//print out the fruits name in this case.
  print $result->name;
  print("\n");
  print $result->colour;
  print("\n");
}

您可能还想查看准备好的语句.这有助于防止注射.出于安全原因,注射是不好的.这是该页面.

http://www.php.net/manual/en/pdostatement.bindparam.php

您可能也应该考虑清理用户输入.只是抬头而且与你目前的情况无关.

另外,要使用PDO获取所有字段名称,请尝试此操作

$q = $dbh->prepare("DESCRIBE tablename");
$q->execute();
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);

一旦你拥有了所有的表字段,使用< div>就可以了.甚至是< table>使用< th>来安排它们.

快乐学习PHP.很好玩.

转载注明原文:php – 显示mysql表中的所有记录 - 代码日志