gpt4 book ai didi

php - 如何在 SQLite 中显示 SQL 错误?

转载 作者:行者123 更新时间:2023-12-03 17:36:23 24 4
gpt4 key购买 nike

在 PHP 中使用 SQLite(因此使用 PDO),我有这段代码:

try {
$db = new PDO("sqlite:C:\Program Files\Spiceworks\db\spiceworks_prod.db");

echo "Done.<br /><b>";

$query = "SELECT id FROM Devices LIMIT 5";

echo "Results: ";

$result = $db->query($query);

while ($row = $result->fetchArray()) {
print_r($row)."|";
}
}
catch(PDOException $e) {
echo $e->getMessage();
}

但这不会从 SQL 打印出任何数据。我知道数据库中有数据并且连接有效。如果我将查询更改为:

$query = "SELECT BLAHid FROM FakeDevices LIMIT 5";

没有任何变化。 SQL 中的任何内容都没有再次打印出来,而且我没有看到任何错误,即使这显然是一个无效的 SQL 查询。

在这两种情况下,“完成”和“结果”都可以打印出来。如何打印出 SQL 错误,例如查询无效?

最佳答案

您需要告诉 PDO 抛出异常。您可以通过在连接到数据库后添加以下行来做到这一点:

$db = new PDO("sqlite:C:\Program Files\Spiceworks\db\spiceworks_prod.db");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

这样你就可以捕获所有异常,除了第一行可能存在的问题,即数据库连接本身。

关于php - 如何在 SQLite 中显示 SQL 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10517887/

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