gpt4 book ai didi

php - 如何从php中的Sqlite数据库删除行

转载 作者:行者123 更新时间:2023-12-03 18:25:05 26 4
gpt4 key购买 nike

我是PhP的新手。我正在尝试从我的sqlite数据库中删除一些行,但是我无法弄清楚出了什么问题。我的代码如下:

<?php
$app_name=array("TestApp", "MyDataBase");
$dir = 'sqlite:/home/ravi/public_html/GcmServer/FavoriteApps.db';
$dbh= new PDO($dir) or die("cannot open the database");
for($i=0;$i<sizeof($app_name);$i++) {
error_log("looop start here...............");
error_log("FirstAppName ".$app_name[$i]);
$result= $dbh->Query("DELETE FROM favorite_apps WHERE appname = '$app_name[$i]'") or die( error_log("error".mysql_error() ));
error_log("looop execute here...............");
}
?>


我的日志文件是这样的:

[Wed Sep 19 11:16:38 2012] [error] [client 127.0.0.1] looop start    here...............
[Wed Sep 19 11:16:38 2012] [error] [client 127.0.0.1] FirstAppName TestApp
[Wed Sep 19 11:16:38 2012] [error] [client 127.0.0.1] error


我的本地主机显示1
谢谢。

最佳答案

您正在使用mysql_error()函数,但是您的数据库是sqlite,并且您正在使用PDO,其中错误处理完全不同。尝试将代码封装到try-catch块中以查看更多信息:

<?php
$app_name=array("TestApp", "MyDataBase");
$dir = 'sqlite:/home/ravi/public_html/GcmServer/FavoriteApps.db';
$dbh= new PDO($dir) or die("cannot open the database");
try {
for($i=0;$i<sizeof($app_name);$i++) {
error_log("looop start here...............");
error_log("FirstAppName ".$app_name[$i]);
$dbh->Query("DELETE FROM favorite_apps WHERE appname = '$app_name[$i]'");
error_log("looop execute here...............");
}
} catch (PDOException $e) {
echo $e->getMessage();
}
?>

关于php - 如何从php中的Sqlite数据库删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489283/

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