简体   繁体   English

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

[英]How to delete the rows from Sqlite Database in php

I am new to PhP. 我是PhP的新手。 I am trying to delete some rows from my sqlite database, but I can't figure out what is wrong. 我正在尝试从我的sqlite数据库中删除一些行,但是我无法弄清楚出了什么问题。 My code is as below: 我的代码如下:

<?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...............");
    }
?>

And my log file is like this: 我的日志文件是这样的:

[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

and my localhost show 1, 我的本地主机显示1
thanks. 谢谢。

You are using mysql_error() function but your database is sqlite and you are using PDO, where error handling is quite different. 您正在使用mysql_error()函数,但是您的数据库是sqlite的,并且您正在使用PDO,其中错误处理完全不同。 Try to encapsulate your code into try-catch block to see more info: 尝试将代码封装到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();
  }
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM