第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • //獲得存放結(jié)果集中一條記錄的關(guān)聯(lián)數(shù)組 public static function getRow($sql=null){ if($sql!=null){ self::query($sql); } $result=self::$PDOStatement->fetch(constant("PDO::FETCH_ASSOC")); return $result; } //執(zhí)行增刪改操作,返回受影響的記錄的條數(shù) public static function execute($sql=null){ //獲取連接標(biāo)識(shí)符 $link=self::$link; if(!$link) return false; //保存本次查詢語(yǔ)句 self::$queryStr=$sql; //判斷之前是否有結(jié)果集,如果有的話,釋放結(jié)果集 if(!empty(self::$PDOStatement))self::free(); //POD::exec()方法返回受影響的記錄的條數(shù) 或 false $result=$link->exec(self::$queryStr); //查看本次查詢是否有錯(cuò)誤,如果有則打印本次錯(cuò)誤信息 self::haveErrorThrowException(); if($result){ //保存上一步插入操作產(chǎn)生AUTO_INCREMENT self::$lastInsertId=$link->lastInsertId(); //保存上一步操作產(chǎn)生受影響的記錄的條數(shù) self::$numRows=$result; return self::$numRows; }else{ return false; } }
    查看全部
  • //自定義異常處理程序 public static function throw_exception($errMsg){ echo '<div > '.$errMsg.' </div>'; } //釋放結(jié)果集 public static function free(){ self::$PDOStatement=null; }
    查看全部
  • //查詢語(yǔ)句(只能執(zhí)行一條SQL語(yǔ)句) public static function query($sql=''){ //獲取連接標(biāo)識(shí)符 $link=self::$link; if(!$link) return false; //判斷之前是否有結(jié)果集,如果有的話,釋放結(jié)果集 if(!empty(self::$PDOStatement))self::free(); //保存本次查詢語(yǔ)句 self::$queryStr=$sql; //預(yù)處理語(yǔ)句只能執(zhí)行一條SQL語(yǔ)句 self::$PDOStatement=$link->prepare(self::$queryStr); $res=self::$PDOStatement->execute(); //查看本次查詢是否有錯(cuò)誤,如果有則打印本次錯(cuò)誤信息 self::haveErrorThrowException(); return $res; } //查看最近一次 查詢 或 連接 是否有錯(cuò)誤,如果有則打印本次錯(cuò)誤信息并返回false public static function haveErrorThrowException(){ $obj=empty(self::$PDOStatement)?self::$link: self::$PDOStatement; $arrError=$obj->errorInfo(); //錯(cuò)誤信息數(shù)組下標(biāo)為[0]的值為'00000'表示沒有錯(cuò)誤 if($arrError[0]!='00000'){ //獲取錯(cuò)誤信息并拋出異常 self::$error='SQLSTATE: '.$arrError[0].' <br/>SQL Error: '.$arrError[2].'<br/>Error SQL:'.self::$queryStr; self::throw_exception(self::$error); return false; } if(self::$queryStr==''){ self::throw_exception('沒有執(zhí)行SQL語(yǔ)句'); return false; } }
    查看全部
  • //獲取存放結(jié)果集中所有記錄的關(guān)聯(lián)數(shù)組 public static function getAll($sql=null){ if($sql!=null){ self::query($sql); } $result=self::$PDOStatement->fetchAll(constant("PDO::FETCH_ASSOC")); return $result; }
    查看全部
  • //判斷靜態(tài)變量self::$link是否還沒有沒有被賦值(即之前沒有數(shù)據(jù)庫(kù)被連接) //即在之前沒有連接其他數(shù)據(jù)庫(kù)情況下,才能開始本次數(shù)據(jù)庫(kù)的連接 if(!isset(self::$link)){ //保存本次連接參數(shù) $configs=self::$config; if(self::$pconnect){ //開啟長(zhǎng)連接,添加到配置數(shù)組中 $configs['params'][constant("PDO::ATTR_PERSISTENT")]=true; } try{ self::$link=new PDO($configs['dsn'],$configs['username'],$configs['password'],$configs['params']); }catch(PDOException $e){ self::throw_exception($e->getMessage()); } //連接失敗 if(!self::$link){ self::throw_exception('PDO連接錯(cuò)誤'); return false; } //設(shè)置字符集 self::$link->exec('SET NAMES '.DB_CHARSET); //獲取服務(wù)器版本 self::$dbVersion=self::$link->getAttribute(constant("PDO::ATTR_SERVER_VERSION")); //設(shè)置連接成功標(biāo)志符 self::$connected=true; //釋放臨時(shí)存放連接參數(shù)變量 unset($configs); } }
    查看全部
  • public function __construct($dbConfig=''){ //PHP將所有以 __(兩個(gè)下劃線)開頭的類方法保留為魔術(shù)方法 if(!class_exists("PDO")){ //判斷是否加載了PDO擴(kuò)展 self::throw_exception('不支持PDO,請(qǐng)先開啟'); } if(!is_array($dbConfig)){ //判斷是否傳參給構(gòu)造函數(shù),如果沒有傳參則取默認(rèn)值 $dbConfig=array( 'hostname'=>DB_HOST, 'username'=>DB_USER, 'password'=>DB_PWD, 'database'=>DB_NAME, 'hostport'=>DB_PORT, 'dbms'=>DB_TYPE, 'dsn'=>DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME ); } //如果用戶傳參,但沒有填寫必填 //用戶沒有填寫主機(jī)名,則拋出自定義異常程序 if(empty($dbConfig['hostname']))self::throw_exception('沒有定義數(shù)據(jù)庫(kù)配置,請(qǐng)先定義'); //獲取用戶連接參數(shù),保存到自定義變量中 self::$config=$dbConfig; //用戶沒有填寫驅(qū)動(dòng)的連接選項(xiàng),則賦空數(shù)組為默認(rèn)值 if(empty(self::$config['params']))self::$config['params']=array();
    查看全部
  • /* PDO::ERRMODE_SILENT:默認(rèn)模式,靜默模式,完全不顯示, PDO::ERRMODE_WARNING:警告模式,拋出警告后,程序可繼續(xù)運(yùn)行 PDO::ERRMODE_EXCEPTION:異常模式(UP推薦模式),錯(cuò)誤信息顯示最完整,在拋出異常后程序停止運(yùn)行 */ $pdo=new PDO('mysql:host=localhost;dbname=imooc','root','root'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql='SELECT * FROM noneTable'; $pdo->query($sql); echo $pdo->errorCode(); //顯示錯(cuò)誤STATE碼 echo '<br/>'; print_r($pdo->errorInfo()); //顯示錯(cuò)誤信息
    查看全部
    0 采集 收起 來(lái)源:PDO錯(cuò)誤處理模式

    2018-03-22

  • 當(dāng)返回的PDOStatement對(duì)象中存儲(chǔ)了多個(gè)結(jié)果集,使用PDOStatement::fetchAll()方法每次只能取出一個(gè)結(jié)果集,此時(shí)需要使用PDOStatement ::nextRowset();移動(dòng)結(jié)果集指針讓其指向下一個(gè)結(jié)果集,才能用PDOStatement::fetchAll()或者PDOStatement::fetch()方法取到下一個(gè)結(jié)果集記錄. $sql='call test1()'; //test1為SQL的PROCEDURE(存儲(chǔ)過(guò)程) $stmt=$pdo->query($sql); //PDOStatement對(duì)象中存儲(chǔ)了多個(gè)結(jié)果集 $rowset=$stmt->fetchAll(PDO::FETCH_ASSOC); //只能取出一個(gè)結(jié)果集 print_r($rowset); echo '<hr color="red"/>'; $stmt->nextRowset(); //移動(dòng)結(jié)果集指針 $rowset=$stmt->fetchAll(PDO::FETCH_ASSOC); print_r($rowset);
    查看全部
  • PDOStatement::debugDumpParams()打印一條 SQL 預(yù)處理命令詳情 (沒有返回值) 直接打印出一條預(yù)處理語(yǔ)句包含的信息。提供正在使用的 SQL 查詢、所用參數(shù)(Params)的數(shù)目、參數(shù)的清單、參數(shù)名、用一個(gè)整數(shù)表示的參數(shù)類型(paramtype)、鍵名或位置、值、以及在查詢中的位置 SQL模板中的占位符不同,打印出來(lái)的結(jié)果也會(huì)不同
    查看全部
  • PDOStatement::fetchColumn()從結(jié)果集中的下一行返回單獨(dú)的一列。 //因?yàn)槊看握{(diào)用此方法后,記錄指針將自動(dòng)指向結(jié)果集中的下一條記錄(且沒有辦法返回),在此調(diào)用時(shí)取得將是下一條記錄的對(duì)應(yīng)列數(shù)據(jù) echo $stmt->fetchColumn(0); //取第一行第一列數(shù)據(jù) echo $stmt->fetchColumn(1); //取第二行第二列數(shù)據(jù) echo $stmt->fetchColumn(2); //取第三行第三列數(shù)據(jù)
    查看全部
  • $sql='SELECT username,password,email FROM user'; $stmt=$pdo->prepare($sql); $stmt->execute(); //PDOStatement::columnCount()返回結(jié)果集中的列數(shù) echo '結(jié)果集中的列數(shù)一共有:'.$stmt->columnCount(); //PDOStatement::getColumnMeta()返回結(jié)果集中一列的元數(shù)據(jù)(從0開始計(jì)數(shù)) print_r($stmt->getColumnMeta(0)); //PDOStatement::bindColumn()綁定一列到一個(gè) PHP 變量(相當(dāng)于給結(jié)果集的列起了別名) $stmt->bindColumn(1, $username); $stmt->bindColumn(2,$password); $stmt->bindColumn(3, $email); while($stmt->fetch(PDO::FETCH_BOUND)){ echo '用戶名:'.$username.'-密碼:'.$password.'-郵箱:'.$email.'<hr/>'; } //也可以這么綁定,第一個(gè)參數(shù)對(duì)應(yīng)SQL查詢語(yǔ)句的列名 $stmt->bindColumn(‘username’, $username); $stmt->bindColumn(‘password’,$password); $stmt->bindColumn(‘email’, $email);
    查看全部
  • PDOStatement:: bindValue()將變量或者值綁定到SQL模板中(可以為變量,也可以為值) //PDOStatement:: bindValue()參數(shù)說(shuō)明(占位符為[:name]情況)(UP推薦使用方式,不容易亂) $sql="INSERT user(username,password,email) VALUES(:username,:password,:email)"; $stmt=$pdo->prepare($sql); //第一個(gè)參數(shù)為相應(yīng)的占位符,第二個(gè)參數(shù)為綁定變量(或值),第三個(gè)變量指定變量類型,(第一,二個(gè)參數(shù)必填,其他為可選) $stmt->bindValue(':username',$username); $stmt->bindValue(':password',$password); $stmt->bindValue(':email','king@imooc.com'); $username='imooc1'; $password='imooc1'; $email='imooc1@imooc.com'; $stmt->execute(); //PDOStatement:: bindValue()參數(shù)說(shuō)明(占位符為[?]情況) $sql="INSERT user(username,password,email) VALUES(?,?,?)”; $stmt=$pdo->prepare($sql); //第一個(gè)參數(shù)為整型對(duì)應(yīng)SQL模板中的第幾個(gè)問(wèn)號(hào),其他參數(shù)和使用條件與[:name]情況相同 $stmt->bindValue(1,$username); $stmt->bindValue(2,$password); $stmt->bindValue(3,'imooc@imooc.com'); $username='imooc'; $password='imooc'; $email='imooc@imooc.com'; $stmt->execute();
    查看全部
  • PDOStatement:: bindParam()將變量綁定到SQL模板中(只能綁定變量而不能為確定的值) //PDOStatement:: bindParam()參數(shù)說(shuō)明(占位符為[:name]情況)(UP推薦使用方式,不容易亂) $sql="INSERT user(username,password,email) VALUES(:username,:password,:email)"; $stmt=$pdo->prepare($sql); //第一個(gè)參數(shù)為相應(yīng)的占位符,第二個(gè)參數(shù)為綁定變量(必須為變量而不能直接指定值,因?yàn)閎indParam()設(shè)計(jì)時(shí)將第二個(gè)參數(shù)設(shè)定為變量的引用[&$參數(shù)二]),第三個(gè)變量指定變量類型,(第一,二個(gè)參數(shù)必填,其他為可選) $stmt->bindParam(":username",$username,PDO::PARAM_STR); $stmt->bindParam(":password",$password,PDO::PARAM_STR); $stmt->bindParam(":email",$email); $username='imooc1'; $password='imooc1'; $email='imooc1@imooc.com'; $stmt->execute(); //PDOStatement:: bindParam()參數(shù)說(shuō)明(占位符為[?]情況) $sql="INSERT user(username,password,email) VALUES(?,?,?)”; $stmt=$pdo->prepare($sql); //第一個(gè)參數(shù)為整型對(duì)應(yīng)SQL模板中的第幾個(gè)問(wèn)號(hào),其他參數(shù)和使用條件與[:name]情況相同 $stmt->bindParam(1,$username,PDO::PARAM_STR); $stmt->bindParam(2,$password,PDO::PARAM_STR); $stmt->bindParam(3,$email); $username='imooc'; $password='imooc'; $email='imooc@imooc.com'; $stmt->execute();
    查看全部
  • $username=$_POST['username']; $password=$_POST['password']; 使用命名(:name)參數(shù)來(lái)準(zhǔn)備SQL語(yǔ)句 $sql="select * from user where username=:username and password=:password"; $stmt=$pdo->prepare($sql); $stmt->execute(array(":username"=>$username,":password"=>$password)); 使用問(wèn)號(hào)(?)參數(shù)來(lái)準(zhǔn)備SQL語(yǔ)句 $sql="select * from user where username=? and password=?"; $stmt=$pdo->prepare($sql); $stmt->execute(array($username,$password));
    查看全部
  • 通過(guò)quote()返回帶引號(hào)的字符串,過(guò)濾字符串中的特殊字符,防止sql注入。 不推薦使用quote()防止sql注入,推薦使用prepare()和execute()預(yù)處理防止sql注入。
    查看全部

舉報(bào)

0/150
提交
取消
課程須知
1、掌握PHP的基礎(chǔ)語(yǔ)法知識(shí) 2、掌握MySQL基本增刪改查語(yǔ)句 3、對(duì)面向?qū)ο蟮幕靖拍钣星逦恼J(rèn)識(shí),熟悉PHP中類定義的基本語(yǔ)法
老師告訴你能學(xué)到什么?
1、掌握PDO的基本概念及安裝和配置 2、掌握PDO處理數(shù)據(jù)的基本操作 3、理解PDO事務(wù)處理 4、掌握類的封裝的方法

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無(wú)需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!