您好,登錄后才能下訂單哦!
本篇文章為大家展示了php 中怎么使用pdo連接數據庫,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
要用php連接數據庫首先要要實例化pdo的類,并且要有數據源,服務器賬號,服務器密碼。
數據源是數據庫類型,服務器名稱,數據庫名稱的一個集合。
query("set names gbk");//設置從數據庫里面傳遞過來的數據的編碼格式
?>
事務介紹:事務介紹我就通過我自己的理解來講解一遍吧,就是先要關閉數據庫的自動提交功能(什么是自動提交功能?就是當我們寫完一個sql語句后,按回車鍵執行不起,而要經過特殊的代碼處理才能提交上去,后面我會介紹的)
然后寫出你要執行的sql語句并將返回的結果賦給兩個不同的變量,之后提交,如果在執行的時候其中1個或多個發生了錯誤,就進行事務回滾,即使回歸初始狀態(也就是前面在事務處理代碼中的插入或改變或刪除或查詢的語句全部作廢),還有一個優點是不會因為進入其他網頁,或執行其他sql語句而影響到事務處理的進程
//以下是事務回滾的代碼簡介
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()函數數出行數具體事例代碼如下
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的預處理
query("set names gbk");//設置從數據庫里面傳遞過來的數據的編碼格式
$sql="insert into tongxue values('130042100','老師','男')";//我們要執行的sql語句
$shuju=$pdo->prepare($sql); //預處理
$shuju->execute();//執行預處理的sql語句
if($shuju){
echo '執行成功';
} else{
echo '執行失敗';
}
?>
上述內容就是php 中怎么使用pdo連接數據庫,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。