-
要先關閉自動提交 beginTransaction() commite() rollBack()查看全部
-
pdo有三種異常模式: 1、PDO::ERRMODE_CLIENT 默認 2、PDO::ERRMODE_WARNING警告模式 3、PDO::ERRMODE_EXCEPTION異常模式【推薦】查看全部
-
PDOStatement::nextRowset — 在一個多行集語句句柄中推進到下一個行集 DELIMITER // CREATE PROCEDURE test1() BEGIN SELECT * FROM user; SELECT * FROM userAccount; END // DELIMITER ;查看全部
-
$pdo=new PDO('mysql:host=localhost;dbname=demo','root',''); $sql='call test1()'; $stmt=$pdo->query($sql); $rowset=$stmt->fetchAll(PDO::FETCH_ASSOC); print_r($rowset); echo '<hr color="red"/>'; $stmt->nextRowset(); $rowset=$stmt->fetchAll(PDO::FETCH_ASSOC); print_r($rowset);查看全部
-
PDOStatement::debugDumpParams — 打印一條 SQL 預處理命令查看全部
-
<?php $sth = $dbh->prepare("SELECT name, colour FROM fruit"); $sth->execute(); /* 從結果集中的下一行獲取第一列 */ print("從結果集中的下一行獲取第一列:\n"); $result = $sth->fetchColumn(); print("name = $result\n"); print("從結果集中的下一行獲取第二列:\n"); $result = $sth->fetchColumn(1); print("colour = $result\n"); ?>查看全部
-
$pdo=new PDO('mysql:host=localhost;dbname=demo','root',''); $sql='SELECT username,password,email FROM user'; $stmt=$pdo->prepare($sql); $stmt->execute(); echo '結果集中的列數一共有:'.$stmt->columnCount(); echo '<hr/>'; print_r($stmt->getColumnMeta(0)); echo '<hr/>'; $stmt->bindColumn(1, $username); $stmt->bindColumn(2,$password); $stmt->bindColumn(3, $email); while($stmt->fetch(PDO::FETCH_BOUND)){ echo '用戶名:'.$username.'-密碼:'.$password.'-郵箱:'.$email.'<hr/>'; }查看全部
-
PDOStatement::bindParam — 綁定一個參數到指定的變量名 對于使用命名占位符的預處理語句,應是類似 :name 形式的參數名 對于使用問號占位符的預處理語句,應是以1開始索引的參數位置查看全部
-
預防注入措施: 1、quote方法 2、? 占位符 3、:字段 $sql="select * from user where username=? and password=?"; $stmt=$pdo->prepare($sql); $stmt->execute(array($username,$password)); $sql="select * from user where username=:username and password=:password"; $stmt->execute(array(":username"=>$username,":password"=>$password));查看全部
-
//$sql="select * from user where username='{$username}' and password='{$password}'"; //通過quote():返回帶引號的字符串,過濾字符串中的特殊字符,防止注入 $username=$pdo->quote($username); $sql="select * from user where username={$username} and password='{$password}'"; $stmt=$pdo->query($sql); //PDOStatement對象的方法:rouCount():對于select操作返回的結果集中記錄的條數, //對于INSERT、UPDATE、DELETE返回受影響的記錄的條數查看全部
-
PDOstatement對象的方法 第一,預處理只在服務端編輯一次SQL語句,可以大大提高效率 第二,在安全上可以防止sql注入 setFetchMode()語句要放在execute()之后查看全部
-
$pdo->query($sql);執行查詢操作,返PDOstatement對象(一個二維數組,可使用foreach遍歷) foreach($stmt as $row){ //print_r($row); echo '編號:'.$row['id'],'<br/>'; echo '用戶名:'.$row['username'],'<br/>'; echo '郵箱:'.$row['email'],'<br/>'; echo '<hr/>'; }查看全部
-
三種錯誤處理模式查看全部
-
nextRowset,得到存儲過程中的下一個結果集查看全部
-
本章函數查看全部
舉報
0/150
提交
取消