-
PDO連接數(shù)據(jù)庫(kù)查看全部
-
PDO特性查看全部
-
$pdo->lastInsertId(); 最后插入記錄的id查看全部
-
PDOStatement對(duì)象的方法: bindColumn():綁定一列到一個(gè)PHP變量; getColumnMeta():返回結(jié)果集中一列的元數(shù)據(jù); columnCount():返回結(jié)果集中的列數(shù); setAttribute():設(shè)置一個(gè)語(yǔ)句屬性; getAttribute():檢索一個(gè)語(yǔ)句屬相; errorCode():獲取跟上一次語(yǔ)句句柄操作相關(guān)的SQLSTATE; errorInfo():獲取跟上一次語(yǔ)句句柄操作相關(guān)的擴(kuò)展錯(cuò)誤信息; debugDumpParams():打印一條SQL預(yù)處理命令; nextRowset():在一個(gè)多行集語(yǔ)句句柄中推進(jìn)到下一個(gè)行集;查看全部
-
PDOStatement:: bindParam()將變量綁定到SQL模板中(只能綁定變量而不能為確定的值) //PDOStatement:: bindParam()參數(shù)說明(占位符為[: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ù)說明(占位符為[?]情況) $sql="INSERT user(username,password,email) VALUES(?,?,?)”; $stmt=$pdo->prepare($sql); //第一個(gè)參數(shù)為整型對(duì)應(yīng)SQL模板中的第幾個(gè)問號(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();查看全部
-
Pdo預(yù)處理語(yǔ)句的第二種寫法,使用占位符 $sql="select * from user where username=? And password =?"; $stmt=Pdo->prepare($sql); $stmt->execute(array($username,$password));查看全部
-
在pdo中可以用 quote()方法 和 預(yù)處理語(yǔ)句 prepare() 來防止sql注入,在第二種方法中有兩個(gè)占位符 “:”和“?” 預(yù)處理語(yǔ)句的第一種寫法,使用命名參數(shù)的寫法 $username=$_POST["username"]; $password=$_POST["password"]; $sql="select * from user where username=:username and password=:password"; $stmt=$pdo->prepare($sql); $stmt->execbute(array(":username"=>$username,":password"=>$password);查看全部
-
$stmt=$pdo->query($sql); //PDOStatement對(duì)象的方法:rouCount():對(duì)于select操作返回的結(jié)果集中記錄的條數(shù), //對(duì)于INSERT、UPDATE、DELETE返回受影響的記錄的條數(shù) echo $stmt->rowCount(); //PDO對(duì)象的quote()方法:給指定字符串加引號(hào),并將字符串中的引號(hào)做轉(zhuǎn)移,過濾字符串中的特殊字符(UP不推薦這種方法過濾注入) $username=$pdo->quote($username); 在之后的SQL語(yǔ)句中將不用給變量在加引號(hào),如下 使用$pdo->quote()后:$sql="select * from user where username='{$username}' and password='{$password}'"; 不使用$pdo->quote():$sql="select * from user where username={$username} and password='{$password}'";查看全部
-
PDO::getAttribute — 取回一個(gè)數(shù)據(jù)庫(kù)屬性 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1)//設(shè)置數(shù)據(jù)庫(kù)連接屬性中的自動(dòng)提交功能為1(開啟) //鏈接數(shù)據(jù)庫(kù)時(shí)設(shè)置數(shù)據(jù)庫(kù)屬性(數(shù)據(jù)庫(kù)屬性存放在一個(gè)關(guān)聯(lián)數(shù)組中) $options=array(PDO::ATTR_AUTOCOMMIT=>0,PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION); $pdo=new PDO($dsn, $username, $passwd, $options); PDO::setAttribute — 設(shè)置一個(gè)數(shù)據(jù)庫(kù)屬性 $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT) php在讀雙引號(hào)中的內(nèi)容時(shí),一旦遇到$,就希望找到一個(gè)最可能的變量.所以在沒有引起歧義的情況下 echo "PDO::ATTR_$attr: "; php找到變量$attr并解析它(沒有$a,$at,$att.$attr: 變量情況下).所以以上寫法為正確語(yǔ)句.查看全部
-
PDO預(yù)處理(下篇) //fetch():得到結(jié)果集中的一條記錄 $row=$stmt->fetch(); //默認(rèn)得到的結(jié)果為關(guān)聯(lián)數(shù)組和索引數(shù)組 //可以通過設(shè)置fetch()方法參數(shù)獲得返回結(jié)果的不同形式 $row=$stmt->fetch(PDO::FETCH_ASSOC); //關(guān)聯(lián)數(shù)組 $row=$stmt->fetch(PDO::FETCH_BOTH); //(默認(rèn))兩種同時(shí)獲取 $row=$stmt->fetch(PDO::FETCH_NUM); //索引數(shù)組 $row=$stmt->fetch(PDO::FETCH_OBJ); //返回對(duì)象 //還有其他形式可以 //fetchAll():得到結(jié)果集中的所有記錄 $row=$stmt-> fetchAll(); //默認(rèn)得到的結(jié)果為關(guān)聯(lián)數(shù)組和索引數(shù)組 //可以通過設(shè)置fetchAll()方法參數(shù)獲得返回結(jié)果的不同形式(參數(shù)設(shè)置方法與fetch()類似) //PDOStatement::setFetchMode():設(shè)置fetch()或fetchAll()的默認(rèn)返回值形式(此方法只存在于PDOStatement對(duì)象中) //可以通過設(shè)置setFetchMode()方法參數(shù)改變fetch()或fetchAll()的默認(rèn)返回值形式(參數(shù)設(shè)置方法與fetch()類似) PDOStatement中內(nèi)置有結(jié)果集指針,當(dāng)用fetch()獲取一條結(jié)果集中的記錄后,指針將會(huì)移動(dòng)指向下一條記錄,不論是用fetch()或fetchAll()取記錄,將從指針?biāo)赣涗涢_始取查看全部
-
PDO預(yù)處理(上篇) PDO::query ($sql)方法返回的結(jié)果是PDOStatement實(shí)例對(duì)象,PDOStatement可以用來操作結(jié)果集了。 PDO::prepare()方法返回的也是PDOStatement,但這時(shí)PDOStatement代表一條預(yù)處理語(yǔ)句,也就是說如果你通過PDO::prepare()查詢,實(shí)際上并未執(zhí)行sql,而是得到一個(gè)預(yù)處理語(yǔ)句(PDOStatement),然后你調(diào)用PDOStatement::execute()方法真正執(zhí)行。執(zhí)行結(jié)果集保存在保存在調(diào)用execute()方法的PDOStatement中 //prepare($sql):準(zhǔn)備SQL語(yǔ)句 $stmt=$pdo->prepare($sql); //execute():執(zhí)行預(yù)處理語(yǔ)句 $res=$stmt->execute();查看全部
-
PDOStatement對(duì)象的方法查看全部
-
1.query 執(zhí)行后,返回一關(guān)聯(lián)+索引的數(shù)組 2.query更多用來執(zhí)行查詢語(yǔ)句 3.增刪改更多的用exec來執(zhí)行查看全部
-
[PDO] errorCode()和errorInfo()方法查看錯(cuò)誤信息 $pdo->errorCode():返回?cái)?shù)據(jù)庫(kù)句柄上一次操作相關(guān)的SQLSTATE的值 $pdo->errorInfo():返回的錯(cuò)誤信息的數(shù)組,數(shù)組中包含3個(gè)單元(0=>SQLSTATE,1=>CODE,2=>INFO)查看全部
-
1.手動(dòng)更改自增長(zhǎng)的id 通過修改表結(jié)構(gòu) alter table 表名 auto_increment=更改的數(shù); 也可以手動(dòng)刪除所有記錄: 1).將自增長(zhǎng)id從1從新開始自增 truncate table 表名, 在事務(wù)中可以通過回滾(ROLLBACK)回復(fù)數(shù)據(jù); 2).DELETE FROM 表名 [WHERE 條件], 在事務(wù)中可以通過回滾(ROLLBACK)回復(fù)數(shù)據(jù); 2.pdo對(duì)象方法lastInsertId():得到新插入記錄的ID號(hào) $pdo->lastInsertId();查看全部
舉報(bào)
0/150
提交
取消