Sqlite3、SQLSTATE[HY000]:一般错误:5 数据库已锁定

2023-12-07

我有这个小测试脚本:

session_start();
session_write_close();
error_reporting(-1);
register_shutdown_function(function() {
    //echo 'shutdown';
});

$MAX = 120;
set_time_limit($MAX);
echo date('Y-m-d H:i:s').'<br>';
$m = microtime(true);
$file_db = new PDO('sqlite:'.dirname(__FILE__).'/test.sqlite3');
$file_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$file_db->exec("CREATE TABLE IF NOT EXISTS messages (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, message TEXT, time INTEGER)");

$d = date('U');
do
{
    $file_db->exec ('INSERT INTO messages VALUES (null, "titleee'.rand(1,9).'", "MESSAGEEEE'.rand(1,99).'", "'.rand(1,999).'")');
    if (date('U') - $d > $MAX/2)
    {
        break;
    }
} while (true);
$file_db = null;
echo 'ok: '.(microtime(true)-$m);

如果这是在浏览器中的多个实例中运行,迟早它会丢弃“SQLSTATE[HY000]:一般错误:5 数据库已锁定”异常。如何躲避呢?


我遇到这个错误是因为我在 SQLiteBrowser 上有一条未保存的记录,然后 SQLite 不会在上面写入。保存记录后,我的脚本就恢复正常工作。因此,每次发生此错误时,请检查 SQLiteBrowser(或任何其他编辑器)是否已打开并且是否有任何未保存的更改。

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

Sqlite3、SQLSTATE[HY000]:一般错误:5 数据库已锁定 的相关文章

  • 在 Woocommerce 中设置购物车商品价格后重新计算总计

    通过 set price 方法更改产品价格后 如何更改小计价格 现在在review order php中按旧价格计算总成本 cart php foreach WC gt cart gt get cart as cart item key g
  • PHPUnit:当将类型作为第二个参数作为非字符串传递时,assertInstanceOf() 不起作用

    我需要检查变量是否是User type User是我的班级 user我的对象 this gt assertInstanceOf user User 这是行不通的 我有以下错误 use of undefined constant User a
  • 禁用 php 文件缓存以进行调试

    我有一个安装了 zpanel 和 apache2 php mysql 的 vps 我正在为 php 网站开发一个小型后端 对于准备发布的网站来说情况是完美的 但现在我需要禁用缓存 php 文件的服务器功能以立即测试我的 php 文件的正确性
  • 为什么要使用 XML 解析器?

    I m a somewhat经验丰富的 PHP 脚本编写者 但是我只是专注于解析 XML 和所有这些好东西 我似乎无法理解为什么人们会使用单独的 XML 解析器而不是仅仅使用explode函数 看起来就这么简单 这是我一直在做的事情 假设路
  • mysql数据库的“零知识”加密

    我一直在研究 Web 应用程序数据库层的加密 它使用MySQL 5 1 或更高版本 我记不清了 该应用程序由我的组织管理 为公共客户存储数据 最简单的选择是 AES ENCRYPT AES DECRYPT 如果坏人以某种方式访问 我的数据库
  • MySQL:删除包含特定参数且早于一天的行[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用 mysql 为我的网站创建一个登录系统 它在基于订阅的系统上运行 如果参数 premium 等于 1 DAY 如果它早于一
  • Android SQLiteException:绑定或列索引超出范围问题

    在 android 中我使用以下语句 model dataHelper rawQuery SELECT id engword lower engword as letter FROM word WHERE letter gt a AND l
  • PHP - 可以将成员函数分配给变量吗? [复制]

    这个问题在这里已经有答案了 在 PHP5 中 变量可以作为函数进行计算1 http php net manual en functions variable functions php例如 function myFunc echo what
  • 如何循环并访问多维且关联的数组中的各个元素? PHP,JSON 或 XML

    我正在通过 API zotero org 检索书目数据 它与底部的示例类似 只是更复杂 示例是键入的 我想检索一条或多条记录并在页面上显示某些值 例如 我想循环遍历每个顶级记录并以格式良好的引文打印数据 暂时忽略正确的围兜样式 假设我只想为
  • 如果用户禁用了 javascript,如何回退到完全不同的索引页面?

    我有一个大型 动态生成的单页网站 该网站严重依赖 javascript 我想为没有 javascript 的人提供后备 每个版本必须有不同的 php 代码 所以基本上我需要一个完全不同的索引页面 我不想将所有内容都包装在 javascrip
  • 正则表达式多次匹配多行

    我有一个像这样的字符串 Name John Doe Age 23 Primary Language English Description This is a multiline description field that I want
  • POST 数据加密 - HTTPS 足够吗?

    考虑一个场景 其中用户身份验证 用户名和密码 由用户在页面的表单元素中输入 然后提交 POST 数据通过 HTTPS 发送到新页面 其中 php 代码将检查凭据 现在 如果黑客位于网络中 并说可以访问所有流量 那么在这种情况下应用程序层安全
  • 尝试加载 php_oci8.dll 时 PHP 启动时出现警告

    我正在使用 XAMPP 并尝试为 sql 配置 Oracle 连接 我取消了该行的注释extension php oci8 dll一开始出现错误 缺少oci dll 但后来我从Oracle网页下载了instantclient 我尝试过版本
  • YouTube API 观看私人视频

    我有一个具有草稿模式的网站 有人可以登录并查看该网站的外观 以便在公众看到该网站之前批准该网站 我在一个帐户上有一些 YouTube 视频 但我将其设为私人帐户 因为我不想让全世界看到它们 不过 我确实希望登录草稿模式的人能够观看私人嵌入内
  • 在 MySQL 数据库中存储大文件的更好方法?

    我有一个 PHP 脚本 您可以使用它上传非常大的文件 最大 500MB 并且该文件的内容存储在 MySQL 数据库中 目前我做这样的事情 mysql query INSERT INTO table VALUES uploadedfile f
  • PHP 会话混乱

    好吧 我已经很困惑了 我有一个存储在会话中的对象 我可以向该对象添加项目 到目前为止非常简单 我像这样初始化对象 template new Template mysqli SESSION template serialize templat
  • 数组初始化中的正确缩进,PDT/Zend Studio

    我在代码中使用以下样式的数组初始化 a array one gt 123 two gt 456 但在这种情况下 PDT Zend Studio 无法正常工作 按 Return 键后 它将光标置于 a 下方 在我的示例中 并忽略缩进 如果数组
  • 重定向至 2 页

    我有一个 PHP 页面 我想先将其重定向到一个页面 例如 google com 然后再重定向到另一个页面 例如 bing com 为此 我使用以下方法 header Location http google com header Locat
  • Laravel 搜索路由和控制器

    我正在构建我的第一个基本 Laravel Web 应用程序 在学习了一些教程之后 这是我自己修改的第一个应用程序 我在路由到控制器然后获取正确的网址时遇到了一些麻烦 理想情况下 此时我应该只有两条路线 and user 在主页上 您可以通过
  • 错误 1366 (HY000):整数值不正确:第 1 行的列“id”的“”[已关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 My code sql INSERT INTO static table name sql join array key

随机推荐