rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » PHP

[PHP] PDO Y料B接O定(快速例)


  • <?php  


  • $hostname = "localhost";  


  • $database = "test_db";  


  • $username = "root";  


  • $password = "0000";  

  •   

  •   


  • /* DSN :  

  • mysql:host=localhost;port=3307;dbname=testdb;unix_socket=/tmp/mysql.sock;


  • pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass;


  • mssql:host=localhost;dbname=testdb

  • sybase:host=localhost;dbname=testdb

  • dblib:host=localhost;dbname=testdb


  • odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

  • odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin;


  • ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;


  • oci:dbname=192.168.10.145/orcl;charset=CL8MSWIN1251


  • sqlite:/opt/databases/mydb.sq3

  • sqlite::memory:

  • sqlite2:/opt/databases/mydb.sq2

  • sqlite2::memory:

  • */  

  •   


  • $dsn="mysql:host=$hostname;dbname=$database";  

  • try {  


  •     $DB_Link = new PDO($dsn, $username,$password  


  •         /*,array(

  •              PDO::ATTR_PERSISTENT => true,   // _ DB LB接

  •              PDO::MYSQL_ATTR_INIT_COMMAND =>   // MySQL 前置O定

  •               "SET NAMES 'utf8'; SET group_concat_max_len=65536;",

  •              PDO::MYSQL_ATTR_USE_BUFFERED_QUERY=>false // MySQL 查n^

  •          )*/  

  •      );   


  • } catch (PDOException $e) {  


  •     // Y料BY失  


  •     $e->errorInfo ; // e`明  


  •     $e->getMessage(); // 返回常Y  


  •     $e->getPrevious(); // 返回前一常  


  •     $e->getCode(); // 返回常程式a  


  •     $e->getFile(); // 返回l生常的n案名  


  •     $e->getLine(); // 返回l生常的程式a行  


  •     $e->getTrace(); // backtrace() 列  


  •     $e->getTraceAsString(); // 已格成化成字串的 getTrace() Y      

  •       


  •     // e`...  

  • }  

  •   


  • /*

  • PDO::ATTR_CASE: 返回的Y料谖幻QO定

  •      PDO::CASE_LOWER: 谖幻Q全部DQ成小

  •      PDO::CASE_NATURAL: 使用原始谖幻Q(AO)

  •      PDO:: CASE_UPPER: 谖幻Q全部DQ成大

  • */  


  • //$DB_Link->setAttribute(PDO::ATTR_CASE,PDO::CASE_NATURAL);  

  •   

  •   


  • /*

  • PDO::ATTR_ERRMODE: e`蟾

  •      PDO::ERRMODE_SILENT: 不@示e`信息,只@示e`a。

  •      PDO::ERRMODE_WARNING: @示警告跟e`。

  •      PDO::ERRMODE_EXCEPTION: 出常。

  • */  


  • $DB_Link->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);  

  •   

  •   


  • /*

  • PDO::ATTR_ORACLE_NULLS : DQo效的空字串

  •      PDO::NULL_NATURAL: 不DQ(AO)。

  •      PDO::NULL_EMPTY_STRING: 空字串DQ NULL。

  •      PDO::NULL_TO_STRING: NULL DQ榭兆执

  • */  


  • //$DB_Link->setAttribute(PDO::ATTR_ORACLE_NULLS,PDO::NULL_NATURAL);  

  •   


  • /*

  • PDO::ATTR_STRINGIFY_FETCHES:

  •      Convert numeric values to strings when fetching. Requires bool.

  • */  


  • //$DB_Link->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, true);  

  •   

  •       


  • /*

  • PDO::ATTR_STATEMENT_CLASS: 更AO PDOStatement Class

  • */  


  • //class DBStatement extends PDOStatement {}  


  • //$DB_Link->setAttribute(PDO::ATTR_STATEMENT_CLASS,  


  • //      array('DBStatement', array($DB_Link))  


  •   

  •       


  • /*

  • PDO::ATTR_AUTOCOMMIT: 自咏灰滋

  •      在O置成true的r候,PDOL停止接受委,_始绦

  • */  


  • //$DB_Link->setAttribute(PDO::ATTR_AUTOCOMMIT,true);  

  •   

  •   

  •   


  • // O定存取的a方式  


  • $DB_Link->exec("SET NAMES 'utf8';");  

  •   


  • // O定 GROUP_CONCAT 的最大L度  


  • $DB_Link->exec("SET group_concat_max_len=65536;");  

  •   


  • // P]查快取  


  • //$DB_Link->exec("SET SESSION query_cache_type=OFF;");  

  • 顶一下
    (0)
    踩一下
    (0)