gpt4 book ai didi

针对格式错误的数据库的 PHP 测试

转载 作者:行者123 更新时间:2023-12-01 04:16:57 24 4
gpt4 key购买 nike

我有一个 Python 脚本,每 5 分钟上传一个数据库文件到我的网站。我的网站允许用户使用 PHP 查询数据库。

如果用户在上传数据库时尝试运行查询,他们将收到错误消息

PHP Warning: SQLite3::prepare(): Unable to prepare statement: 11, database disk image is malformed in XXX on line 127

其中第 127 行只是 prepare 函数

$result = $db->prepare("SELECT * FROM table WHERE page_url_match = :pageurlmatch");

有没有办法对此进行测试并在数据库上传完成后重试用户请求?

最佳答案

最好的选择是将数据库上传到单独的%DBNAME%_temp,上传完成后只需删除旧数据库并将新数据库重命名为%DBNAME%

但如果这不是一个选项,您可以尝试在创建 PDO 对象时通过 $options 数组指定在任何错误时抛出异常。

new PDO($dsn, $username, $password, [
PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
])

然后只需使用 try { ... } catch 捕获此警告并重新运行用户查询。

关于针对格式错误的数据库的 PHP 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34211201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com