激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php pdo連接數據庫操作示例

php pdo連接數據庫操作示例

2021-09-17 11:37傾聽歲月 PHP教程

這篇文章主要介紹了php pdo連接數據庫操作,結合實例形式分析了PHP使用pdo連接數據庫并執行事務相關操作技巧,需要的朋友可以參考下

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

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

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

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

?
1
2
3
4
5
6
7
8
<?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語句而影響到事務處理的進程

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//以下是事務回滾的代碼簡介
<?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()函數數出行數具體事例代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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的預處理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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程序設計有所幫助。

原文鏈接:https://blog.csdn.net/u014559227/article/details/70575221

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www噜噜偷拍在线视频 | 亚洲国产视频在线 | 亚洲精品久久久久久久久久 | 日韩激情一区 | 国产二三区 | 在线免费观看日韩视频 | 精品三级内地国产在线观看 | 一级黄色在线免费观看 | 泰剧19禁啪啪无遮挡 | 91久久线看在观草草青青 | 黄色一级片免费观看 | 中文字幕在线播放视频 | 色女孩网 | av在线免费播放 | japanesexxxxxxxhd| 久久丝袜脚交足黄网站免费 | 一级毛片手机在线观看 | 亚洲视频成人 | 久久露脸国语精品国产91 | 亚洲四播房 | 午夜精品毛片 | 久久视频国产 | 看免费黄色大片 | 亚洲va久久久噜噜噜久牛牛影视 | 免费一级在线观看 | 激情大乳女做爰办公室韩国 | 成人一区二区三区在线 | 国产伦精品一区二区三区在线 | 国产91在线高潮白浆在线观看 | 毛片免费视频观看 | 国产精品免费一区二区三区在线观看 | 久久久激情网 | 成人免费毛片在线观看 | 久久蜜桃香蕉精品一区二区三区 | 日日草视频 | 国产91精品欧美 | 欧美成人二区 | 撅高 自己扒开 调教 | 狠狠干91 | 九九热免费精品 | 羞羞的视频免费 |