我写了一个小数据库类,如下所示:
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/