使用MySQL / PHP结果构建HTML表

时间:2014-07-09 08:29:51

标签: php mysql

我正在尝试从MySQL查询构建一个动态HTML表(无论列数或行数),但我认为我可能做错了,因为它根本不起作用。

我有使用Oracle的经验,但我是MySQL新手。我试图检查我使用的MySQL / PHP函数是否确实存在,我认为就是这种情况。

<?php
$mysqli = new mysqli("localhost", "dbuser", "dbpass", "db");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT * FROM user")) {
    /* build html table */
    echo "<table class='table '><thread><tr>";

    $ncols = mysqli_num_rows($result);
    for ($i = 1; $i <= $ncols; $i++) {
        $column_name  = mysqli_field_name($result, $i);
        echo "<th>".$column_name."</th>";
    }

    echo "</tr></thread><tbody>";

    while ($row = mysqli_fetch_array($result, OCI_NUM)) {
        echo "<tr>";
        for ( $ii = 0; $ii < count($row); $ii++ ) {
            echo "<td>" . $row[$ii] . "</td>";
        }
        echo "</tr>";
    }

    echo "</tbody></table>";

    /* free result set */
    $result->close();
}

$mysqli->close();
?>

感谢任何帮助!

史蒂夫

修改:我按建议添加了错误报告并获取:

Fatal error: Call to undefined function mysqli_field_name() in connection.php on line 20

3 个答案:

答案 0 :(得分:2)

您的基本问题是,您可能已从mysql_功能转换为mysqli这很棒!但是没有函数mysqli_field_name()这个函数只是作为mysql_函数存在。

您需要mysqli中的mysqli_result::fetch_fields()函数/方法来获取字段名称。

答案 1 :(得分:0)

这应该是布尔操作而不是赋值

if ($result = $mysqli->query("SELECT * FROM user"))

答案 2 :(得分:-1)

<?php
$link=mysql_connect("hostname","username","password","dbname");
$query="select * from table_name";
$sql=mysql_query($query,$link);
if(count($sql)>0)
{
?><tr><th></th>
<?php

while($row=mysql_fetch_array($sql))
    { ?> 
           <tr><td><?php $row['columnname']; ?>
   <?php  } }?>