6

PHP 查询:

<?php

    $query = $db->prepare('SELECT * FROM Locations WHERE user_id = :id LIMIT 0, 5');
    $query->bindParam(":id",$id);
    $result = $query->execute();

    $rows = $query->fetch();

    foreach ($rows as $row) {
        echo $row["timestamp"]; "<br />";
    }

?>

应该打印的两行(时间戳):

数据库

实际打印的内容:1188((22

控制台中的错误:PHP 警告:第 73 行 /Sites/pages/user_account.php 中的非法字符串偏移 'timestamp' - 第 73 行是 forloop 内的 echo $row...。

任何帮助将不胜感激。

4

2 回答 2

9

您正在使用fetch,它检索单行,而不是fetchAll

$rows = $query->fetchAll();
于 2013-03-04T22:14:26.333 回答
-1

你有两行(user_id = 8)

$rows = $query->fetchAll();

对于所有行

foreach ($rows as $row) {
  echo $row . "<br />";
}

对于 1 行,所有列

while ($row = $rows) {

  foreach ($row as $column) {
    echo $column . "<br />";
  }

}
于 2017-08-12T04:47:35.120 回答