首頁 >後端開發 >PHP問題 >如何利用PDO對資料庫進行管理?

如何利用PDO對資料庫進行管理?

autoload
autoload原創
2021-03-05 15:36:321847瀏覽

概念:對資料庫的管理分為寫入操作查詢操作

          寫入操作,即利用PDO實現資料庫增刪改操作,操作過程中要考慮到SQL本身可能出現的錯誤處理,以及對結果的操作處理。

          查詢操作,即執行SQL指令後從資料庫取得對應的資料。

      1.初始化PDO,每次操作都需要以PDO實例化:封裝執行。

//创建pdo_function.php文件
<?php 
    //数据库连接,并且设置字符集为utf8
     function pdo_init()
     {
         $dns="mysql:host=localhost;port=3306;dbname=my_database";
         $user=&#39;root&#39;;pdo_function
         $pass=&#39;root&#39;;
         $pdo=@new PDO($dns,$user,$pass); 
         
         if(!$pdo)
         {
             exit("数据库连接问题");
         }
         $pdo->exec("set names utf8");
         echo "连接初始化数据库成功";
         return $pdo;

     }
?>

      2.SQL通常應該是外在傳入,外在需要的只是結果,不考慮過程,所以實際開發時要考慮二次封裝。即外部傳入SQL,內部執行並控制錯誤,最終回傳結果。

在pdo_function.php中
//对数据库进行写操作
     function pdo_exec($pdo,$sql)
     {
          $result=$pdo->exec($sql);
          if($result===false)
          {
              echo "SQL语句错误"."<br>";
              echo "SQL错误代码:".$pdo->errorcode()."<br>";
              echo "SQL错误编号:".$pdo->errorInfo()[2]."<br>";
              exit;
          }
          return $result;
     }
//对数据库进行读操作
     function pdo_query($pdo,$sql)
     {
         $statement=$pdo->query($sql);
         if($statement===false)
         {
            echo "SQL语句错误"."<br>";
            echo "SQL错误代码:".$pdo->errorcode()."<br>";
            echo "SQL错误编号:".$pdo->errorInfo()[2]."<br>";
            exit;
         }
         return $statement;
     }

      3.具體實作寫入作業

<?php
     require "pdo_function.php";
     $pdo=pdo_init();
     
     $sql="INSERT INTO `student` (`id`, `name`, `age`, `hobbby`) VALUES (&#39;6&#39;, &#39;白也&#39;, &#39;70&#39;, &#39;drinking&#39;)";
     
     $reult=pdo_exec($pdo,$sql);
     echo $reult."<br>";//输出产生影响的行数。
?>

      4.請具體實作查詢作業

<?php
    require "pdo_function.php";
    $pdo=pdo_init();
    
    $sql="select * from `student`";
    
    $statement=pdo_query($pdo,$sql);

?>

#推薦:php教學,php影片教學

#

以上是如何利用PDO對資料庫進行管理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn