//1.連接資料庫
$pdo = new PDO('mysql:dbname=php','root','root');
//2.準備查詢語句
$sql = "SELECT name,email FROM user WHERE user_id < :user_id";
//3.建立預處理物件
$stmt = $pdo->prepare($sql);
//4.參數綁定並執行
$user_id = 5;
bindParam(),第二個參數必須是變數,不能是字面量
$stmt->bindParam(':user_id',$user_id,PDO::PARAM_INT);
bindValue()第二個參數必須是字面量,不能是變數
$stmt->bindValue(':user_id', 6, PDO::PARAM_INT);
變數參數還可以做為execute()的參數傳遞
$stmt->execute(['user_id'=>5]);
//5.結果集的處理
$stmt->setFetchMode(PDO::FETCH_ASSOC); $row = $stmt->fetch(); $row = $stmt->fetch(PDO::FETCH_ASSOC); var_export($row); //字符串方式输出 echo '<br>'; fetch()会将记录指针自动下移 $row = $stmt->fetch(PDO::FETCH_ASSOC); var_export($row); //字符串方式输出 echo '<hr>';
用迴圈來實作
while($row=$stmt->fetch(PDO::FETCH_ASSOC)) { var_export($row); //字符串方式输出 echo '<br>'; }