1

我是 mysqli 的新手,我正在尝试将一个简单的查询输出到 HTML 表中。我返回了三个空白单元格,但其中没有任何内容。

我试着在这里四处寻找这个,也许我的搜索技巧没有达到标准,所以要么没有其他人被困在这里,要么我无法搜索深蹲!无论如何,这是我的代码:

<?php
$mysqli = new mysqli("localhost", "webuser", "mysecretpassword", "userdb");

/* 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 first_name, last_name, last_activity_date from  users order by first_name" ) )
{
   $finfo = $result->fetch_fields();
   foreach ( $finfo as $val )
   {
      echo "<tr>\n";
      echo "<td>$val->first_name</td>\n";
      echo "<td>$val->last_name</td>\n";
      echo "<td>$val->last_activity_date</td>\n";
      echo "</tr>\n";
   }
   $result->close();
}

$mysqli->close();

?>

虽然我看过其他使用 printf() 的示例,但我不熟悉它的语法,因为我不习惯 C 风格的 printf,因为我以前在旧数据库事务中使用过 echo 风格。

非常感谢您提供任何帮助。谢谢!

4

3 回答 3

2

尝试这个

foreach ( $finfo as $val )
{
  echo "<tr>\n";
  echo "<td>" . $val->first_name . "</td>\n";
  echo "<td>" . $val->last_name . "</td>\n";
  echo "<td>" . $val->last_activity_date . "</td>\n";
  echo "</tr>\n";
}
于 2013-05-17T16:24:26.593 回答
2
if ( $result = $mysqli->query("select first_name, last_name, last_activity_date from worker order by first_name" ) )
{
     while ( $val = $result->fetch_object() )
     {
        echo "<tr>\n";
        echo "<td>" . $val->first_name . "</td>\n";
        echo "<td>" . $val->last_name . "</td>\n";
        echo "<td>" . $val->last_activity_date . "</td>\n";
        echo "</tr>\n";
     }
     $result->close();
}
于 2013-05-17T17:06:37.233 回答
0

这与 foreach 或 while 循环无关,fetch_fields 不返回查询结果,而是返回有关查询结果列的元数据(例如名称、长度、类型等)

$val->first_name由于未定义此对象成员,因此您还应该收到 PHP 警告。

于 2013-05-17T20:18:24.443 回答