为了账号安全,请及时绑定邮箱和手机立即绑定

和大家分享一下:::

首先,

public static function getAll($sql=null){

if($sql!=null){

self::query($sql);

}

$result=self::$PDOStatement->fetchAll(constant("PDO::FETCH_ASSOC"));

return($result);

}

因为在query()中已经做了容错处理,那么这里没必要做判断,说$sql是否为空,就应该直接执行。

其次,

public static function haveErrorThrowException(){

//首先要得到PDOStatement对象

$obj=empty(self::$PDOStatement)?self::$link: self::$PDOStatement;

$arrError=$obj->errorInfo();

//print_r($arrError);

if(self::$queryStr==""){

//如果要执行的SQL语句为空

self::throw_exception("没有要执行的SQL语句!");

return false;

}

if($arrError[0]!="000000"){

//正确的时候,数组$arrError的第一项的键值是“00000”

self::$error="SQL LSTATE: ".$arrError[0]."<br />SQL ERROR: ".$arrError[2]."<br />ERROR SQL: ".self::$queryStr;

//如果产生了错误,我们就要抛出异常

self::throw_exception(self::$error);

return false;

}

}

在haveErrorThrowException()这个方法中,应先判断是否为空,再判断是否错误信息的第一位键值是否为“00000”。否则会出现,当$sql为空时,提示不到“没有可以执行的SQL语句”

正在回答

2 回答

???999


0 回复 有任何疑惑可以回复我~

666

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

和大家分享一下:::

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信