【问题标题】:Accessing SQLite3 database in HTML / PHP file?在 HTML / PHP 文件中访问 SQLite3 数据库?
【发布时间】:2019-01-14 16:29:34
【问题描述】:

我有一个 index.html 文件和一个名为 newdb.db 的填充 SQLite3 数据库,其中包含一个表“NUMBERS”和字段“ID”、“NAME”和“AVG”。该数据库与 html 文件本地存储在同一文件夹中。

我只是想从这个表中获取数据并在我的 HTML 文件中使用它。

我尝试了几个网上的例子,但似乎都没有。

如果需要,可以创建一个 PHP 文件或其他东西。

【问题讨论】:

  • 使用 .php 文件,您的网络服务器应该安装了 php 扩展
  • 如果可以完成工作,使用 php 文件就可以了。您能否为我指出如何实现它的正确方向?

标签: javascript php html sqlite


【解决方案1】:

当您尝试在没有服务器客户端的情况下使用 .html 文件从数据库中获取数据时,我的意思是 PHP 等,这是不可能的事情。但也许你可以用 node.js 做到这一点。

【讨论】:

  • 为什么不使用 index.php?
  • 好吧,也许你可以使用 node.js 来显示数据库中的数据。
  • 通常你会做这个服务器端/PHP/Node等,但实际上可以做这个客户端->github.com/kripken/sql.js
  • 我也不确定是否对 .html 文件执行此操作。但也许这可以用 node.js 来完成
  • Node.js 完全超出了这里的范围,他没用,也没提
【解决方案2】:
<?php
try {
    $sqlite = new PDO("sqlite:newdb.db");
    $sqlite->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    die($e);
}
    $sth = $sqlite->prepare('SELECT *
        FROM NUMBERS');
    $sth->execute();
    $result = $sth->fetchAll();
?>
<table style="width:100%">
  <tr>
    <th>ID</th>
    <th>NAME</th>
    <th>AVG</th>
  </tr>
<?php
    foreach($result as $row)
        print '<tr><td>'.$row['ID'].'</td><td>'.$row['NAME'].'</td><td>'.$row['AVG'].'</td></tr>';
?>
</table>

【讨论】:

  • (传入的愚蠢问题):我把这个放在哪里?将其放入 HTML 文件只会导致某些代码位被简单地打印到网页上,并且可以在终端的文本编辑器中看到它没有被识别为代码。
  • 我把它放在 index.php 中,这是用于网页的文件。我将代码粘贴到文件中,它只是将代码文本写到网页上,从 "setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ..." 开始。它遗漏了一些代码,但该代码只是被打印到页面上。我一直在尝试的其他 php 代码一直存在这个问题。
  • 通过重新安装php修复它,奇怪。但是现在有错误:'PDOException:在 /var/www/html/index.php:16 中找不到驱动程序堆栈跟踪:#0 /var/www/html/index.php(16): PDO->__construct(' sqlite:newdb.db') #1 {main}'
  • 找到驱动程序并完美运行,谢谢!那么 $results 现在是什么格式的呢?不知道如何使用 $results 中的数据来形成它得到的数字数组。
猜你喜欢
  • 2020-04-07
  • 2017-01-24
  • 1970-01-01
  • 2019-01-29
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
相关资源
最近更新 更多