相对较新的PHP,无法正确显示SQLite DB的结果

时间:2017-04-11 22:27:24

标签: php database sqlite pdo

插入数据库:

try {
  $sql = "INSERT INTO table (name, model, desc, country, privacy) VALUES ('$name', '$model', '$desc', '$country', '$privacy')";
    $db->exec($sql);
          echo "New Record Created Succesfully $sql";
    }
      catch(PDOException $e) {
          echo $sql . "<br>" . $e->getMessage();
 }

输出:

$sth = $db->prepare("SELECT * FROM table");
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);

我遇到的问题是,这似乎只是从数据库打印1行而不是全部,我确实发现使用$ stmt - &gt; fetchAll();打印出DB中的所有行,但是数组对我来说不起作用,我需要将它作为关联数组。我尝试了一个foreach循环,通过上面的FETCH_ASSOC代码,但它正在跳过DB条目,不确定那里发生了什么?

任何帮助将不胜感激

日Thnx。

1 个答案:

答案 0 :(得分:0)

您可以致电PDOStatement::fetch,直到获得null作为返回值。实现这一目标的简单方法是简单的while循环

while ($result = $sth->fetch(PDO::FETCH_ASSOC)) {
    print_r($result);
}