<?php //PDO链接mysql<br />//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=mysqllinux 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 " );
(未完待续...)