php pdo連線資料庫

2021-07-31 02:21:52 字數 2666 閱讀 9028

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) else

?> 

用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) else 

?>

當我們的頁面執行的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) 

else

?>

連線資料庫

2 documents 目錄就是我們可以用來寫入並儲存檔案得地方,一般可通過 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes nsstring documentsdi...

連線資料庫

1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...

連線資料庫

public void connection 以上是連線資料庫的乙個方法,以及從資料庫中取到資料後存放在table中.executenonquery 執行sql後,返回乙個整形變數,如果sql是對資料庫記錄進行操作,那麼返回影響的記錄條數。executescalar 執行sql 如果sql語句是se...