和大家分享一下:::
首先,
public static function getAll($sql=null){
if($sql!=null){
self::query($sql);
}
$result=self::$PDOStatement->fetchAll(constant("PDO::FETCH_ASSOC"));
return($result);
}
因為在query()中已經(jīng)做了容錯處理,那么這里沒必要做判斷,說$sql是否為空,就應該直接執(zhí)行。
其次,
public static function haveErrorThrowException(){
//首先要得到PDOStatement對象
$obj=empty(self::$PDOStatement)?self::$link: self::$PDOStatement;
$arrError=$obj->errorInfo();
//print_r($arrError);
if(self::$queryStr==""){
//如果要執(zhí)行的SQL語句為空
self::throw_exception("沒有要執(zhí)行的SQL語句!");
return false;
}
if($arrError[0]!="000000"){
//正確的時候,數(shù)組$arrError的第一項的鍵值是“00000”
self::$error="SQL LSTATE: ".$arrError[0]."<br />SQL ERROR: ".$arrError[2]."<br />ERROR SQL: ".self::$queryStr;
//如果產(chǎn)生了錯誤,我們就要拋出異常
self::throw_exception(self::$error);
return false;
}
}
在haveErrorThrowException()這個方法中,應先判斷是否為空,再判斷是否錯誤信息的第一位鍵值是否為“00000”。否則會出現(xiàn),當$sql為空時,提示不到“沒有可以執(zhí)行的SQL語句”
2020-06-24
???999
2017-07-24
666