pdo連接數據庫的有點是能實現不同數據庫之間的轉換,而且有事務功能的回滾,更有pdo::pre" />

php pdo連接數據庫操作示例

 更新時間:2020-01-15 15:59:56   作者:佚名   我要評論(0)

本文實例講述了php pdo連接數據庫操作。分享給大家供大家參考,具體如下:
pdo連接數據庫的有點是能實現不同數據庫之間的轉換,而且有事務功能的回滾,更有pdo::pre

本文實例講述了php pdo連接數據庫操作。分享給大家供大家參考,具體如下:

pdo連接數據庫的有點是能實現不同數據庫之間的轉換,而且有事務功能的回滾,更有pdo::prepare();pdo:::execute()函數的預處理查詢,所以我個人認為pdo的功能還是比較強大的,所有這篇日志只為我自己而寫,希望看到這篇日志的兄弟們能對你們有所幫助。

要用php連接數據庫首先要要實例化pdo的類,并且要有數據源,服務器賬號,服務器密碼

數據源是數據庫類型,服務器名稱,數據庫名稱的一個集合。

<?php
//以下是實例化一個pdo的帶碼
$dsn="mysql:host=localhost;dbname=tanyong";//這就是數據源,
$user="root";//這個是服務器的賬號,我的電腦上是這樣,就不知道你們的是不是,
$pwd="";//這是我電腦上的服務器密碼,就是我沒設
$pdo=new PDO($dsn,$user,$pwd);//實例化一個PDO連接
$pdo->query("set names gbk");//設置從數據庫里面傳遞過來的數據的編碼格式
?>

事務介紹:事務介紹我就通過我自己的理解來講解一遍吧,就是先要關閉數據庫的自動提交功能(什么是自動提交功能?就是當我們寫完一個sql語句后,按回車鍵執行不起,而要經過特殊的代碼處理才能提交上去,后面我會介紹的)

然后寫出你要執行的sql語句并將返回的結果賦給兩個不同的變量,之后提交,如果在執行的時候其中1個或多個發生了錯誤,就進行事務回滾,即使回歸初始狀態(也就是前面在事務處理代碼中的插入或改變或刪除或查詢的語句全部作廢),還有一個優點是不會因為進入其他網頁,或執行其他sql語句而影響到事務處理的進程

//以下是事務回滾的代碼簡介
<?php
$dsn="mysql:host=localhost;dbname=tanyong";//這就是數據源,
$user="root";//這個是服務器的賬號,我的電腦上是這樣,就不知道你們的是不是,
$pwd="";//這是我電腦上的服務器密碼,就是我沒設
$pdo=new PDO($dsn,$user,$pwd);//實例化一個PDO連接
$pdo->query("set names gbk");//設置從數據庫里面傳遞過來的數據的編碼格式
$pdo->begintransaction();//在這里關閉mysql的自動提交功能
$a=$pdo->query("insert into tongxue values('130042106','譚勇','男');
$b=$pdo->query("insert into tongxue values('130042100','豬八戒','男')");
if($a==true && $b==true){
$pdo->commit();//提交事務
} else{
$pdo->rollback();//事務回滾
}
?>

mysql_num_rows()函數能數出數據庫返回結果集的行數,以此來判斷該用戶輸入的用戶名和密碼是否正確,那么在pdo中我們如何實現這個功能呢?

在pdo中有一個函數pdo::fetchall(),他的作用是將從數據庫返回的一個結果集全部賦給獲取它的值,之后再用count()函數數出行數具體事例代碼如下

<?php
$dsn="mysql:host=localhost;dbname=tanyong";//這就是數據源,
$user="root";//這個是服務器的賬號,我的電腦上是這樣,就不知道你們的是不是,
$pwd="";//這是我電腦上的服務器密碼,就是我沒設
$pdo=new PDO($dsn,$user,$pwd);//實例化一個PDO連接
$pdo->query("set names gbk");//設置從數據庫里面傳遞過來的數據的編碼格式
$sql="select * from tongxue where id='130042106'";
$shuju=pdo->prepare($sql);//這就是我們所說的預處理 
$shuju->execute();//執行預處理的結果;
$jg=$shuju->fetchall(PDO::FETCH_ASSOC);//將返回的結果集以數組的方式全部返回給變量$jg
$hangshu=count($jg);//數出結果集的行數
if($hangshu>0){
echo '查詢出來是有這個人的';
} else{
echo '查詢出來是沒有這個人的';
}
?>

當我們的頁面運行的sql語句較多時,可以用pdo當中的預處理,來減緩服務器的壓力,這對于那些要做大型網站的項目來說是一個不錯的選擇,因為大型網站一天的瀏覽量是幾萬或十幾萬的.
下面我們來看看pdo的預處理

<?php
$dsn="mysql:host=localhost;dbname=tanyong";//這就是數據源,
$user="root";//這個是服務器的賬號,我的電腦上是這樣,就不知道你們的是不是,
$pwd="";//這是我電腦上的服務器密碼,就是我沒設
$pdo=new PDO($dsn,$user,$pwd);//實例化一個PDO連接
$pdo->query("set names gbk");//設置從數據庫里面傳遞過來的數據的編碼格式
$sql="insert into tongxue values('130042100','老師','男')";//我們要執行的sql語句
$shuju=$pdo->prepare($sql); //預處理
$shuju->execute();//執行預處理的sql語句
if($shuju){
echo '執行成功';
} else{
echo '執行失敗';
}
?>

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP基于pdo操作數據庫技巧總結》、《php+mysqli數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:

  • PHP5中使用PDO連接數據庫的方法
  • PHP中PDO連接數據庫中各種DNS設置方法小結
  • ThinkPHP框架基于PDO方式連接數據庫操作示例
  • PHP實現的pdo連接數據庫并插入數據功能簡單示例
  • PHP利用pdo_odbc實現連接數據庫示例【基于ThinkPHP5.1搭建的項目】
  • php中在PDO中使用事務(Transaction)
  • php下pdo的mysql事務處理用法實例
  • php使用PDO事務配合表格讀取大量數據插入操作實現方法
  • PHP基于PDO實現的SQLite操作類【包含增刪改查及事務等操作】
  • php PDO實現的事務回滾示例
  • php的PDO事務處理機制實例分析

相關文章

  • php pdo連接數據庫操作示例

    php pdo連接數據庫操作示例

    本文實例講述了php pdo連接數據庫操作。分享給大家供大家參考,具體如下: pdo連接數據庫的有點是能實現不同數據庫之間的轉換,而且有事務功能的回滾,更有pdo::pre
    2020-01-15
  • PHP cookie與session會話基本用法實例分析

    PHP cookie與session會話基本用法實例分析

    本文實例講述了PHP cookie與session會話基本用法。分享給大家供大家參考,具體如下: cookie即是傳統的會話控制,由于要存儲的信息是保存在客戶端的,所以安全系數較
    2020-01-15
  • Yii框架 session 數據庫存儲操作方法示例

    Yii框架 session 數據庫存儲操作方法示例

    本文實例講述了Yii框架 session 數據庫存儲操作方法。分享給大家供大家參考,具體如下: 在組件中聲明session 組件開啟數據庫庫存儲 [ 'components' => [ '
    2020-01-15
  • php 多繼承的幾種常見實現方法示例

    php 多繼承的幾種常見實現方法示例

    本文實例講述了php 多繼承的幾種常見實現方法。分享給大家供大家參考,具體如下: class Parent1 { function method1() {} function method2() {} } class Pa
    2020-01-15
  • PHP中通過getopt解析GNU C風格命令行選項

    PHP中通過getopt解析GNU C風格命令行選項

    在 PHP 中,當我們在獲取命令行參數時,可以通過遍歷$argv來獲取,其實呢是有規范可循的,也就是 GNU C-style parser for command line options 。 比如使用命令wge
    2020-01-15
  • laravel框架中表單請求類型和CSRF防護實例分析

    laravel框架中表單請求類型和CSRF防護實例分析

    本文實例講述了laravel框架中表單請求類型和CSRF防護。分享給大家供大家參考,具體如下: laravel中為我們提供了綁定不同http請求類型的函數。 Route::get('/test
    2020-01-15
  • php 使用 __call實現重載功能示例

    php 使用 __call實現重載功能示例

    本文實例講述了php 使用 __call實現重載功能。分享給大家供大家參考,具體如下: <&#63;php /** * Created by PhpStorm. * User: funco * Date: 17-6-9 * Tim
    2020-01-15
  • laravel框架中視圖的基本使用方法分析

    laravel框架中視圖的基本使用方法分析

    本文實例講述了laravel框架中視圖的基本使用方法。分享給大家供大家參考,具體如下: laravel中的視圖默認保存在 resources\views 目錄下。在控制器中,我們通常使用
    2020-01-15
  • php傳值和傳引用的區別點總結

    php傳值和傳引用的區別點總結

    php傳值:在函數范圍內,改變變量值得大小,都不會影響到函數外邊的變量值。 PHP傳引用:在函數范圍內,對值的任何改變,在函數外部也有所體現,因為傳引用傳的是內
    2020-01-15
  • PhpStorm 如何優雅的調試Hyperf的方法步驟

    PhpStorm 如何優雅的調試Hyperf的方法步驟

    前言: 我也是昨晚看了黃島主的直播后學會的這個方法,今天中午趁著休息時間,把這個技巧分享給大家。就是大家在調試 Hyperf 的時候,可能總需要做一些服務的重啟,
    2020-01-15

最新評論

买宝宝用品赚钱吗