程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> PDO鏈接mysql學習筆記

PDO鏈接mysql學習筆記

編輯:MySQL綜合教程

<?php
//PDO鏈接mysql
//dsn三種寫法: //dsn01 $dsn = 'mysql:host=localhost;dbname=mysql'; //$dsn = 'mysql:host=localhost;dbname=mysql[;port=3306;charset=UTF8]'; /** dsn02 $dsn = 'uri:file://C:\xampp\htdocs\pdo\config.txt'; config.txt :mysql:host=localhost;dbname=mysql linux and windows are feasible $dsn = 'uri:file:///home/pdo/config.txt'; */ /** dsn03 $dsn = 'mydb'; php.ini裡添加 : pdo.dsn.mydb='mysql:host=localhost;dbname=mysql' */ $user = 'root'; $pwd = ''; //如果試圖連接到請求的數據庫失敗,則 PDO::__construct() 拋出一個 PDO異常(PDOException) 。 try{ $link = new PDO($dsn,$user,$pwd); }catch(PDOException $e){ echo 'Connection failed:'.$e->getMessage(); } $userSet = $link->query('select * from user'); print_r($userSet);

 

<?PHP

//事務
//開始一個事務,關閉自動提交
 $dbh -> beginTransaction ();

/* do something  */
 
if(true){
    /* 提交更改 */
 $dbh -> commit ();
}else{
     /*  識別出錯誤並回滾更改 */
 $dbh -> rollBack ();
} 
 /* 數據庫連接現在返回到自動提交模式 */


/** 注
包括 MySQL 在內的一些數據庫, 當在一個事務內有類似刪除或創建數據表等 DDL 語句時,
會自動導致一個隱式地提交。隱式地提交將無法回滾此事務范圍內的任何更改。 
更多見http://dev.mysql.com/doc/refman/5.0/en/implicit-commit.html
*/

 

<?php
/**
預處理語句 PDOStatement 類

PDO類返回PDOStatement實例的方法
public PDOStatement prepare  ( string $statement  [, array $driver_options  = array()  ] )
public PDOStatement query  ( string $statement  )
*/

//bindParam 與 bindValue的區別?

/* 使用 INOUT 參數調用一個存儲過程 
使用 PDO::PARAM_* 常量明確地指定參數的類型。
要從一個存儲過程中返回一個 INOUT 參數,
需要為 data_type  參數使用按位或操作符去設置 PDO::PARAM_INPUT_OUTPUT 位。 
*/
 $colour  =  'red' ;
 $sth  =  $dbh -> prepare ( 'CALL puree_fruit(?)' );
 $sth -> bindParam ( 1 ,  $colour ,  PDO :: PARAM_STR | PDO :: PARAM_INPUT_OUTPUT ,  12 );
 $sth -> execute ();
 print( "After pureeing fruit, the colour is:  $colour " );

 

(未完待續...)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved