PHP PDO擴充 —– PDOstatement

來源:互聯網
上載者:User

 

<?php/* * Created on 2011-11-22 *//* * PDO 對資料庫的串連 * */ $dns = "mysql:dbname=bbs;host=localhost"; $username = "root"; $password = ""; $pdo = new PDO($dns,$username,$password); $pdo->query("set names utf8"); //在mysqli 裡面有 set_charset(可以來設定編碼),便在PDO裡面沒有,所以就直接執行資料庫設定編碼語句 /*  * 下面主要學習一下PDOstatement的用法,主要是從預先處理來說  *  * *///$stmt = $pdo->prepare();//返回一個PDOstatement對象,還有一個返回PDOstatement的方法是query//利用foreach 直接操作Pdostatement/*-------------------------------------------------------------------------- *可以用 foreach 直接到 $statement 訪問\ *$sql = "select * from news";//$stmt = $pdo->prepare();//返回一個PDOstatement對象,還有一個返回PDOstatement的方法是query$statement = $pdo->query($sql);     foreach($statement as $row) { echo $row['id']."---".$row['title']."---".$row['content']."</br>"; } *----------------------------------------------------------------------------- *下面對準備語句的操作 *操作流程: *1. prepare *兩種參數綁定方式:1. :title,:content2: ? *2. 執行參數綁定操作  $stmt->bindParam(":title",$title);也還以用bindValue() 綁定的只是能常量 *3. 執行綁定語句  $stmt->execute() *4. 可以用rowCount 來查詢受影響的行數,lastInsertId() 查義插入記錄的ID$sql = "delete from news where id =?";$stmt = $pdo->prepare($sql);$stmt->bindParam(1,$id);$id = GET['id'];if($stmt->execute())echo "受影響 ".$stmt->rowCount();elseecho "SQL語句執行失敗";$sql = "insert into news values('',:title,:content)";$stmt = $pdo->prepare($sql);$title="dfd";$content="dfd";$stmt->bindParam(":title",$title);$stmt->bindParam(":content",$content);    $stmt->execute();    echo $stmt->rowCount();    echo $pdo->lastInsertId();    *//*擷取資料 * =---------------------------------------------------------------------- * *方法: *1   fetch() *$sql = "select * from news";$stmt = $pdo->query($sql);while($row = $stmt->fetch(PDO::FETCH_ASSOC)){var_dump($row);}2  fetchAll()$sql = "select * from news";$stmt = $pdo->query($sql);$row = $stmt->fetchAll(PDO::FETCH_ASSOC);var_dump($row);var_dump("下面是尋找列的值");//還可以指定列的值$column = $stmt->fetchAll(PDO::FETCH_COLUMN,1);var_dump($column);setFetchMode *----------------------------------------------------------------- * *bindColumn * *------------------------------------------------------------------ *  bindColumn 是將查詢出來的記錄綁定到指定的變數上去,這個先綁定變數,然後再 *  執行 fetch(PDO::FETCH_COLUMN)將第條記錄綁定; * $sql = "select * from news where id=13"; $stmt = $pdo->query($sql); $stmt->bindColumn("id",$id); $stmt->bindColumn("title",$title); $stmt->bindColumn("content",$content); while($stmt->fetch(PDO::FETCH_COLUMN)) { var_dump("id :".$id); var_dump("title :".$title); var_dump("content :".$content); } fetchColumn(n)查詢出第N個欄位的值 columnCount  得到欄位的個數 ----------------------------------------- *  */$sql = "select * from news";$stmt =$pdo->query($sql);while($title=$stmt->fetchColumn(2))  //將每條記錄的第二個字元查詢出來{var_dump($title);}echo $stmt->columnCount();   //查詢出多少個欄位?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.