php: sql-query - 避免错误

标签 php mysql error-handling

我写了一个小数据库类,如下所示:

class dbClass extends mysqli
{
    public function execute($sq)
    {
    $res = parent::query($sq);
    $rs = $res->fetch_array();
    return $rs; 
    }
}

到目前为止可以工作,但问题是运行删除查询时(“从 mytable where 删除..”) 该类在该行抛出错误: $rs = $res->fetch_array(); (因为它不会返回任何我猜测的内容)

问题是:我怎样才能捕获这个错误?它应该简单地不对插入、删除、更新等查询执行 fetch_array() ..

谢谢!

最佳答案

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

必须检查结果的类型,如果是 bool 类型则不获取。

另一个解决方案可以是发送保存查询类型的附加参数并在获取之前检查该类型。

    public function execute($sq)
    {
      $res = parent::query($sq);
      if (is_bool($res))
      {
       //not to fetch
      }
      else
      {
        $rs = $res->fetch_array();
      }

      return $rs; 
    }

关于php: sql-query - 避免错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5800447/

相关文章:

r - r-如何让polr正常失败

php - 正确的 SQL 查询以访问用户可用的组

php - 压缩主文件夹,里面有子文件夹

php - 即使在调用验证函数后,使用 Bcrypt 密码验证登录访问也会出现问题

mysql - 使用多个条件加入查询

php - MySQL 用户和文件夹

sql-server - sql错误处理和输出

c# - ASP.NET MVC 自定义错误处理 Application_Error Global.asax?

PHPUnit 在测试类上存储属性

PHP: preg_replace (x) 发生?