PHP PDO sqlite:无法打开数据库

2024-02-03

我使用 sqlite 在 php 中开发一个 web 应用程序,将数据存储在数据库中。正如在互联网上看到的,我使用 PDO 而不是 SQLITE3 类。我执行了互联网上显示的所有步骤来避免此错误消息,但它仍然出现:

SQLSTATE[HY000] [14] 无法打开数据库文件

定期任务每 30 秒运行一次,以获取表中的条目数。该任务由 Javascript/Jquery 触发。在普通的 php 文件上,使用 PDO 没有任何问题。但是将它与 Javascript/Jquery 结合使用我收到了上面的消息。

我已经将整个路径和数据库设置为网络服务器的用户/组并设置为 chmod 0777。

我自己编写的数据库类被创建并存储在会话变量中,以避免在网页生命周期中创建和销毁。

此函数连接到数据库(此函数和下一个函数位于同一类中):

private $db = null;

private function connectdb(){
    try {
        $this->db = new PDO(database,"","",array(
                    PDO::ATTR_PERSISTENT => TRUE,
                    PDO::ERRMODE_EXCEPTION => TRUE));
    } catch (PDOException $e) {
        logerror($e->getMessage(), "connecthrsedb");
        return exception;
    }
}

该函数正在执行查询:

function getNumberofEntriesinTable() {

    try {
        if (is_null($this->db)) {
            if ($this->connectdb() < 0) {
                return -1;
            }
        }

        $statement = "select count(*) from table;";

        $res = $this->db->query($statement);
        $res = $res->fetch();
        $res =  $res['count(*)'];
        $this->db = null;
        return $res;
    } catch (PDOException $e) {
        syslog(LOG_ERROR,$e->getMessage());
        return -1;
    }
 }

会话变量$_SESSION['database']是在启动时生成的。

这个 javascript/jquery 函数应该做这些事情:

function getData(){
    $.post("php/getdatafromdb.php",{action: 'getdata'},function(data){
        console.log(data);
    }
    setTimeout(function () {getData();},30000);
}

javascript/jquery 函数运行良好,并使用 setTimeout 函数执行。 但是我不知道如何防止或消除这个问题。我该如何解决这个问题?

我的 PHP ini 文件包含以下有关 sqlite 和 pdo 的条目:

[sqlite]                                                                                       
; http://php.net/sqlite.assoc-case                                                             
;sqlite.assoc_case = 0                                                                         

[sqlite3]                                                                                      
;sqlite3.extension_dir =  
[Pdo]                                                                           
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"  
; http://php.net/pdo-odbc.connection-pooling                                    
;pdo_odbc.connection_pooling=strict                                             

;pdo_odbc.db2_instance_name                                                     

[Pdo_mysql]                                                                     
; If mysqlnd is used: Number of cache slots for the internal result set cache   
; http://php.net/pdo_mysql.cache_size                                           
pdo_mysql.cache_size=2000                                                       

; Default socket name for local MySQL connects.  If empty, uses the built-in    
; MySQL defaults.                                                               
; http://php.net/pdo_mysql.default-socket                                       
pdo_mysql.default_socket=  

是否需要任何 sqlite pdo 设置?


我解决了这个问题。不幸的是,错误消息令人困惑,因为 PHP 没有找到该文件。 即使权限、用户和组设置正确,也始终使用绝对路径以避免此错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP PDO sqlite:无法打开数据库 的相关文章

  • 元素存在之前的html5音频绑定时间更新

    我试图从音频标签绑定 timeupdate 事件 该标签尚不存在 我习惯这样做 body on click selector function e 我用音频标签尝试了这个 body on timeupdate audioPlayerJS a
  • 使用ajax发送表单数据

    我想用 ajax 以表单形式发送所有输入 我有一个这样的表单
  • 添加选中的单选按钮的总数

    UPDATE 如果您尝试此链接上的表格http jsfiddle net Matt KP BwmzQ http jsfiddle net Matt KP BwmzQ 按下小提琴并选择右上角的 40 英镑单选按钮 然后在底部看到订单总额 上面
  • 某些表格后的分页符

    我的问题是 我有一个页面 其中包含几个要打印的 html 表格 有些表有很多行 有些则没有 我想要做的是将第一个和第二个表 大表 打印在单独的页面中 其余表 小表 每页打印两个 如何在我想要的位置放置分页符 我试过 但这会在每个表格后面添加
  • 如何从左向右滑动文本和图像并具有滑动效果[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 jQuery live() 初始化插件?

    使用 jQuery 在特定类的所有当前和未来元素上自动初始化插件的最佳方法是什么 例如 假设我想要全部
  • 按给定日期获取上周一和下周一的日期[重复]

    这个问题在这里已经有答案了 我们如何通过提供的日期获取上一周星期一日期和下周星期一日期 示例 if date 2015 04 08 年月日格式 然后函数返回 上周一日期 2015 03 30 下周一日期 2015 04 13 echo Ne
  • 使用 Laravel Fluent 查询生成器从多个表中进行选择

    我正在重写一些 PHP MySQL 来与 Laravel 一起使用 我想做的一件事是使数据库查询更加简洁使用 Fluent 查询生成器 http laravel com docs database fluent但我有点迷失 SELECT p
  • 需要一个正则表达式将 css 类添加到第一个和最后一个列表项

    更新 谢谢大家的意见 一些附加信息 它实际上只是我正在使用的一小部分标记 20 行 目的是利用正则表达式来完成工作 我还能够修改脚本 电子商务脚本 以在构建导航时插入类 我想限制我所采用的黑客数量 以便在更新到软件的最新版本时让事情变得更容
  • 从流程图中获取数据系列的颜色

    在看到 stackoverflow 用户页面上很酷的新 声誉 选项卡后 我受到启发 开始尝试使用 Flot 图表库 我有一个包含数百个系列的折线图 在任何给定时间 这些系列中只有几个是可见的 我的数据系列分为几个 类别 我根据该类别分配数字
  • 一个表单包含两个提交按钮,每个按钮都有不同的操作

    我花了几个小时试图找到问题的解决方案 但似乎找不到正确的解决方案 提前感谢你的帮助 我有一个 html 表单
  • 如何从 jquery .load 获取 php 响应

    例如我给出另一个代码 这是我的 some3 php 代码 第一个文件
  • 重定向到另一个文件夹

    我读了这个 htaccess 重写以将根 URL 重定向到子目录 https stackoverflow com questions 990392 htacces rewrite to redirect root url to subdir
  • 使标签充当输入按钮

    我怎样才能做一个 a href http test com tag test Test a 就像表单按钮一样 通过充当表单按钮 我的意思是 当单击链接执行操作时method get 或 post 以便能够通过 get 或 post 捕获它
  • 使用外部按钮选择下一个/上一个单选按钮

    我正在制作一种幻灯片形式 当用户单击下一张图像时 还必须选择单选按钮 我的滑动功能可以正常工作 下一个按钮 也可以工作 但我有点坚持使用 上一个 按钮 不明白为什么它不起作用 fiddle http jsfiddle net V4tdx 这
  • 如何获取动态生成元素的数据属性

    当从服务器抛出动态内容 通过 AJAX 时 我有以下响应 a Some content a 我已经使用绑定了点击事件live http api jquery com live 问题出在我的点击事件中 我无法 获取数据属性 因此手动附加不适合
  • 测验程序的 MySql 数据库设计

    我目前正在开发一个项目 主要是创建一个测验应用程序 它将能够进行包含 10 到 20 个问题的多项选择题或简答题的测验 它需要能够根据正确答案检查用户的答案 然后对用户的答案进行评分 稍后 我可能会实现一个后端功能来在线创建测验 但现在我将
  • 如何加载Jquery Tiny滚动条

    所以我想自定义一个滚动条 我发现了一个很小的滚动条 这是一个jquery插件 http baijs nl tinyscrollbar http baijs nl tinyscrollbar 问题是 无论如何我都无法让它工作 我将 Jquer
  • TCPDF - 来自 mysql 的打印表显示重复的第一行

    我是 TCPDF 的新手 我面临的小问题是所有输出数据都显示同一行 我的意思是第一条记录重复数据库中存在的总数据 行 的次数 这是我的代码 tbl header
  • Cakephp - CSRF 令牌不匹配

    我在 Cakephp 3 6 中有一个项目 其中 MessageController 中的 3 个操作由 Ajax 调用 但是 我有一个问题 当我向其中一个操作发送请求时 XHR 会向我返回以下内容 message CSRF token m

随机推荐

  • 需要为 Yesod 路径定义哪些类型类?

    在我的应用程序中 我的数据模型有几个使用整数或字符串作为某些标识符的不同实例 为了安全起见 我将这些标识符包装到新类型声明中 如下所示 newtype DocId DocId Integer newtype GroupName GroupN
  • 在 Pixel 2 和 Pixel 2 XL 上接收 UDP 广播数据包

    我正在开发一个从 Wi Fi 摄像头接收 UDP 广播数据包的应用程序 在我发现 Google Pixel 2 Pixel 2 XL 接收 UDP 广播包有问题之前一直都很好 为了找出原因 我做了2个测试应用程序 一个是UPD广播发送器 h
  • Python - 作业 - 将任意基数转换为任意基数

    我正在尝试编写一个程序 将任何基数中的数字转换为用户选择的另一个基数 到目前为止我的代码是这样的 innitvar float raw input Please enter a number basevar int raw input Pl
  • Facebook 登录后调用新活动 |安卓

    我的 Android 应用程序中有 2 个活动 在第一个中 我要求用户使用 facebook 登录 用户登录后 我收集用户数据 例如电子邮件 姓名 并调用一个新活动 将这些参数传递给它 下面是我的facebook授权方法 public vo
  • PlopJS 中的异步操作

    我想在 actions 属性中使用 async await 但是 它给了我 错误 处理程序没有任何操作 我尝试过 then 但仍然失败了 这是我到目前为止所尝试过的 我想做的是通过在操作中执行反应式提示 我不知道 然后使用await但失败了
  • 两种方式将数据绑定到单例服务 Blazor 服务器端

    我一直在使用 WebAssembly 在客户端上使用 Blazor 但我想我现在应该尝试服务器端版本 并且我有一个简单的想法想要尝试 所以我的理解是 Blazor 服务器端使用 SignalR 来 推送 更改 以便客户端重新渲染其页面的一部
  • 如何在javascript中从对象数组中获取唯一的对象

    我有一系列对象 如下图所示 有没有一种方法可以让我拥有一个包含唯一对象的数组id 我们可以在下面看到id索引 0 和索引 2 相同 Is there a way that I can get an array containing obje
  • 在不同架构的集群上应该指定哪个AVX和march?

    我目前正在尝试使用英特尔编译器编译用于 HPC 集群的软件 登录节点是我编译和准备计算的地方英特尔至强金牌 6148 https ark intel com content www us en ark products 120489 int
  • 从 PHP 执行 wkhtmltopdf

    我在 Linux 命令行下运行得很好 wkhtmltopdf 入口 html 输出 pdf 但以下内容在 PHP 代码中不起作用 exec wkhtmltopdf入口 html输出 pdf 有趣的是 我用谷歌搜索了很多未经检查的解决方案 但
  • Protobuf.net 列表的对象图序列化

    据我了解 protobuf net 的列表不支持 AsReference 因此我尝试解决此限制 我创建了一个名为 SuperList 的自定义列表 其中包含包装在 SuperListItem 类型的对象中的项目 如下所示 ProtoCont
  • Shinyapp 无法像本地一样在shinyapps.io 上运行

    我正在开发 R Shiny 应用程序 最初 我将数据集加载到内存中 并根据用户的输入日期对其进行切片 例如 我下载了过去 90 天的观察结果 如果用户选择以图表形式查看过去 20 天 我仅更新图表用于计算的数据帧切片 我试图通过查找该日期的
  • 在 Visual Studio 2010 中为远程 Sharepoint 2010 服务器进行开发

    据我所知 您无法在 Visual Studio 2010 中为远程 Sharepoint 2010 服务器进行开发 因为您需要在您的机器上运行本地副本 我知道有一个黑客 在我的情况下 我在本地安装了 Sharepoint Foundatio
  • 如何将 ORACLE DB 中大约 300 个表的数据导出到 csv 或 txt 文件

    是否有可能使用任何 PL SQL 过程将包含数百万条记录的单个模式中的大约 300 个表中的数据导出到 CSV 或 TXT 您有什么建议 哪种方法最快 目前我不需要将这些导出的文件导入到任何其他模式 我尝试使用 Toad 手动逐表导出 我创
  • 模态视图的导航栏位置 - iOS7

    在导航控制器中 您可以按预期自动获取导航栏的正确颜色和位置 像这样 但在模式视图中 当您拖动导航栏时 您可以将其放置在顶部 这与运营商 电池信息太接近 因此 您可以将其向下拖动 猜测它与自动创建的位置匹配的程度 但随后就会出现颜色差异 我尝
  • 带下划线的 Maven 原型文件名模式

    我正在创建一个 Maven 原型 我想生成类似的文件project todo messages properties with todo由过滤属性替换 我创建了一个文件project todo messages properties和一个过
  • .NET Url 重写根 url

    我在 IIS7 中有以下规则
  • 如何将 git commit hash 分配给 Jenkins 文件中的变量

    我正在尝试将 git commit hash 分配给 Jenkins 管道中定义的变量 如下所示 GIT COMMIT HASH sh git log n 1 pretty format H 这将在 Jenkins 构建日志中打印提交哈希
  • 如何修复“Gradle 构建无法生成 Android 捆绑包”。在颤振中

    跑步时flutter build appbundle我收到以下错误 Gradle 构建无法生成 Android 捆绑包 当在详细模式下运行时 这是我另外得到的 0 throwToolExit package flutter tools sr
  • 有没有办法判断SMM中断发生了?

    对于某些以编程方式定义的间隔 有没有办法确定SMM https en wikipedia org wiki System Management Mode当前核心上是否发生了条目 从 Nehalem 开始 MSR 寄存器 0x 34 称为MS
  • PHP PDO sqlite:无法打开数据库

    我使用 sqlite 在 php 中开发一个 web 应用程序 将数据存储在数据库中 正如在互联网上看到的 我使用 PDO 而不是 SQLITE3 类 我执行了互联网上显示的所有步骤来避免此错误消息 但它仍然出现 SQLSTATE HY00