亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 34
粉絲 0
評論 0
訪問量 28367
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
11月21日_PDO操作數(shù)據(jù)庫、PDO常用方法 - 九期線上班
只貓
原創(chuàng)
929人瀏覽過

一、PDO連接數(shù)據(jù)庫mysql

pdo連接對象$pdo = new PDO (數(shù)據(jù)源,用戶名,密碼)

  1. <?php
  2. /**************
  3. pdo速度快,支持各種數(shù)據(jù)庫。
  4. 使用方法: new PDO(數(shù)據(jù)源,用戶名,密碼)
  5. 數(shù)據(jù)源信息 數(shù)據(jù)庫類型:host=域名;dbname=數(shù)據(jù)庫名
  6. **************/
  7. //連接
  8. //需要的信息數(shù)組
  9. $db = [
  10. 'type'=>'mysql',
  11. 'host'=>'localhost',
  12. 'dbname'=>'php_2019',
  13. 'username'=>'root',
  14. 'password'=>'*******',
  15. ];
  16. $dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
  17. //捕獲異常
  18. try{
  19. $pdo = new PDO($dsn,$db['username'],$db['password']);
  20. } catch (PDOException $e){
  21. die('Connection Faild:'.$e->getMessage());
  22. } //啥也不顯示
  23. //var_dump($pdo); //打印 object(PDO)#1 (0) { } 連接成功

二、添加數(shù)據(jù)

  1. //1.預(yù)處理 PDOStatement
  2. $sql_insert = 'INSERT INTO `test` SET `title`=:title,`content`=:content';
  3. $stmt = $pdo->prepare($sql_insert);
  4. //2.數(shù)據(jù)綁定 bindParam() 把要寫入的數(shù)據(jù)賦值給變量
  5. $title = '美聯(lián)邦通信委員會禁止運(yùn)營商用聯(lián)邦補(bǔ)貼購買華為設(shè)備,華為凌晨回應(yīng)';
  6. $content = '美國“政客”網(wǎng)站消息,當(dāng)?shù)貢r(shí)間22日,美國聯(lián)邦通信委員會通過禁止運(yùn)營商使用聯(lián)邦補(bǔ)貼資金購買華為和中興設(shè)備的決定?!罢汀本W(wǎng)站認(rèn)為,這是美國聯(lián)邦政府試圖遏制中國通信企業(yè)影響的最新努力。';
  7. $stmt->bindParam('title',$title,PDO::PARAM_STR);
  8. $stmt->bindParam('content',$content,PDO::PARAM_STR);
  9. //3.執(zhí)行 execute()
  10. if($stmt->execute()){
  11. if($stmt->rowCount()>0){
  12. echo '添加成功'. $stmt->rowCount().'條記錄,主鍵id為:'.$pdo->lastInsertId();
  13. }else{
  14. die('<pre>'. print_r($stmt->errorInfo(),true));
  15. }
  16. }

三、更新數(shù)據(jù)

  1. //更新
  2. $sql_update = 'UPDATE `test` SET `title`=:title,`content`=:content WHERE `id`=:id';
  3. $stmt = $pdo->prepare($sql_update);
  4. $title = '新聞1';
  5. $content = '內(nèi)容xxxxx';
  6. $id = 1;
  7. $stmt->bindParam('title',$title,PDO::PARAM_STR);
  8. $stmt->bindParam('content',$content,PDO::PARAM_STR);
  9. $stmt->bindParam('id',$id,PDO::PARAM_INT);
  10. if($stmt->execute()){
  11. if($stmt->rowCount()>0){
  12. echo '更新成功'. $stmt->rowCount().'條記錄';
  13. }else{
  14. die('<pre>'. print_r($stmt->errorInfo(),true));
  15. }
  16. }

四、刪除數(shù)據(jù)

  1. //刪除
  2. $sql_delete = 'DELETE FROM `test` WHERE `id` = :id';
  3. $stmt = $pdo->prepare($sql_delete);
  4. $id = 1;
  5. $stmt->bindParam('id',$id,PDO::PARAM_INT);
  6. if ($stmt->execute()) {
  7. if ($stmt->rowCount() > 0) {
  8. echo '成功刪除了' . $stmt->rowCount() . '條記錄';
  9. }
  10. } else {
  11. die('<pre>' . print_r($stmt->errorInfo(), true));
  12. }

五、查詢數(shù)據(jù)

  1. // 1.單行查詢 fetch()
  2. $sql_select = 'SELECT `name` FROM `movies` WHERE `cate_id`=:cate_id';
  3. $stmt = $pdo->prepare($sql_select);
  4. $cate_id = 1;
  5. $stmt->bindParam('cate_id',$cate_id,PDO::PARAM_INT);
  6. $stmt->execute();
  7. while($movies=$stmt->fetch(PDO::FETCH_ASSOC)){
  8. echo '<pre>'.print_r($movies,true);
  9. }

查詢分類id為1的影視名稱,結(jié)果用while循環(huán)出來。fetch獲取下一個(gè)數(shù)據(jù)。。

  1. //2.全部查詢 fetchAll()返回一個(gè)包含結(jié)果集中所有行的數(shù)組
  2. $sql_select_all = 'SELECT `name` FROM `movies` WHERE `cate_id`=:cate_id';
  3. $stmt = $pdo->prepare($sql_select_all);
  4. $cate_id = 3;
  5. $stmt->bindParam('cate_id',$cate_id,PDO::PARAM_INT);
  6. $stmt->execute();
  7. $movies=$stmt->fetchAll(PDO::FETCH_ASSOC);
  8. foreach ($movies as $value) {
  9. echo '<pre>'.print_r($value,true);
  10. }

  1. // 3.bindColumn()綁定一列到一個(gè) PHP 變量
  2. $sql = 'SELECT * FROM `movies` WHERE `cate_id` = :cate_id';
  3. $stmt = $pdo->prepare($sql);
  4. $cate_id = 3;
  5. $stmt->bindParam('cate_id',$cate_id,PDO::PARAM_INT);
  6. $stmt->execute();
  7. $stmt->bindColumn('name',$name);
  8. $stmt->bindColumn('detail',$detail);
  9. while($stmt->fetch(PDO::FETCH_ASSOC)){
  10. $detail = mb_substr($detail, 0,20,'utf-8');
  11. echo '片名:'.$name.'<br>'.'簡介:'.$detail.'...<hr>';
  12. }

  1. //4.fetchColumn()從結(jié)果集中的下一行返回單獨(dú)的一列
  2. $stmt = $pdo->prepare('SELECT `name`,`image` FROM `movies` WHERE `cate_id` = :cate_id');
  3. $cate_id = 3;
  4. $stmt->bindParam('cate_id',$cate_id,PDO::PARAM_INT);
  5. $stmt->execute();
  6. var_dump($stmt->fetch(PDO::FETCH_ASSOC());
  7. $name = $stmt->fetchColumn();
  8. $image = $stmt->fetchColumn(1);
  9. echo '片名:'.$name.'<br>'.'圖片名:'.$image;

手寫:

總結(jié):
基本上了解了PDO是什么,做什么。知道了PDO連接數(shù)據(jù)庫的方法。但是其中很多類方法和靜態(tài)變量的使用不熟練。sql模板語句傳給prepare()方法,PDOStatement對象是pdo類調(diào)用prepare方法后生成的,它也包含有很多方法。對其中的方法具體使用場景不不太清楚,有些方法不理解。返回受影響的記錄條數(shù)是rowCount()方法,只有增刪改操作才有。

批改老師:查無此人查無此人

批改狀態(tài):合格

老師批語:完成的不錯(cuò),繼續(xù)加油。 pdo對你來說確實(shí)有點(diǎn)難。等我們學(xué)了類,就會很好理解了。
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報(bào)處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務(wù)協(xié)議
0條評論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)