【问题标题】:why sqlite doesn't create my database even it has been checked in phpinfo() as it is enabled为什么 sqlite 没有创建我的数据库,即使它已在 phpinfo() 中检查,因为它已启用
【发布时间】:2018-12-23 13:59:57
【问题描述】:
<?php 
$db = new SQLite3('phpdb.sqlite');
?>

为什么虽然启用了 SQLite,但它会给出致命错误?
我什至检查了 php.ini 文件并将其更改为:
sqlite3.extension_dir = "D:\PHP\xampp\php\ext"

checked information

错误显示:

致命错误:未捕获的错误:在中找不到类“SQLite3” D:\PHP\xampp\htdocs\midun\OOP\Chap2\index.php:4 堆栈跟踪:#0 {main} 在第 4 行扔在 D:\PHP\xampp\htdocs\midun\OOP\Chap2\index.php

(附加信息:我在 C:\sqlite 中设置了一个环境变量,这是我放置 sqlite.exe 文件的位置)

【问题讨论】:

  • phpMyAdmin 是一个供管理员管理 MySQL 或 MariaDB 数据库的应用程序,它似乎不适用于您的 SQLite 问题,所以我删除了“phpmyadmin”标签。
  • 谢谢 Isaac Bennetch 先生。

标签: php database sqlite


【解决方案1】:

作为 PDO 抽象层一部分的 SQLite3 与作为“供应商特定数据库扩展”的 SQLite3 不同。但是,您可以通过 PDO 使用 SQLite3,请参阅:http://php.net/manual/en/book.pdo.php

【讨论】:

  • 谢谢先生们。我是这样弄的。它现在创建数据库。 $db = new PDO("sqlite:D:/PHP/xampp/htdocs/midun/OOP/database.sqlite"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
【解决方案2】:

你应该试试:

$db = new \SQLite3('phpdb.sqlite');

而不是

$db = new SQLite3('phpdb.sqlite');

我想 SQLite3 在Global namespace

【讨论】:

    猜你喜欢
    • 2019-11-24
    • 2020-02-14
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多