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