php连数据库

@1 php连接PDO

1.1 pdo类详解

PDO->beginTransaction()          表明回滚起点 ,一批批执行sql语句,成功的话commit,出错的话rollback,而且把之前成功执行的sql语句干掉;

 1 try{
 2  $dbh = new PDO('mysql:host=localhost;dbname=test','root','password');   //连接PDO,test为数据库名称,root表示mysql用户名称,password表示数据库连接密码;
 3  $dbh->query('set names utf8');
 4  $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRORMODE_EXCEPTION);         //产生致命错误
 5  $dbh->beginTransaction();                                                //开启事物
 6  $dbh->exec("insert into `tablename`(`name`,`age`) values ('cj', '22')");   //插入数据
 7  $dbh->exec("insert into `tablename`(`name`,`age`) values ('fendor', `24`)");  
 8  $dbh->exec("insert into tablename(`name`,`age`) values ('wang','25')");
 9  $dbh->commit();                                                          //批执行sql语句
10  }
11 catch(Exception $e){
12 $dbh->rollBack();                                                     //抛出异常,错误回滚,之前的sql语句全部不执行
13 echo "Failed:" . $e->getMessage();
14 }

PDO->commit();        标明回滚结束点,并执行SQL
PDO->__construct()         建立一个PDO连接数据库的实例
PDO->errorCode()         获取错误代码
PDO->errorInfo()          获取错误的信息
PDO->exec()             处理一条SQL语句,并返回所影响的条目数
PDO->getAttribute()         获取一个“数据库连接对象”的属性
PDO->getAvailableDrivers()         获取有效的PDO驱动名称
PDO->lastInsertId()             获取写入的最后一条数据的主键值
PDO->prepare()                  生成一个“查询对象”

 使用prepare,bindParam,execute(建议用于增删改)
1 $dbh->prepare($sql); //产生一个PDOStatement对象 2 PDOStatement->bindParam(); 3 PDOStatement->execute();

PDO->query()                 处理一条sql语句,并返回一个“PDOStatement”

 

1 $result = $dbh->query("select * from tablename");  //查询所有数据
2 foreach($result as $k=>$value)    3 {
4   echo $value['username'].$value['password']."</br>";  //遍历所有数据
5 }

PDO->quote()                    为某个SQL中的字符串添加引号
PDO->rollback()            执行回滚
PDO->setAttribute()        为一个数据库连接对象“设定属性”

1.2 PDOStatement

PDOStatement->bindColumn() — Bind a column to a PHP variable
PDOStatement->bindParam() — Binds a parameter to the specified variable name
PDOStatement->bindValue() — Binds a value to a parameter
PDOStatement->closeCursor() — Closes the cursor, enabling the statement to be executed again.
PDOStatement->columnCount() — Returns the number of columns in the result set
PDOStatement->errorCode() — Fetch the SQLSTATE associated with the last operation on the statement handle
PDOStatement->errorInfo() — Fetch extended error information associated with the last operation on the statement handle
PDOStatement->execute() — Executes a prepared statement
PDOStatement->fetch() — Fetches the next row from a result set
PDOStatement->fetchAll() — Returns an array containing all of the result set rows
PDOStatement->fetchColumn() — Returns a single column from the next row of a result set
PDOStatement->fetchObject() — Fetches the next row and returns it as an object.
PDOStatement->getAttribute() — Retrieve a statement attribute
PDOStatement->getColumnMeta() — Returns metadata for a column in a result set
PDOStatement->nextRowset() — Advances to the next rowset in a multi-rowset statement handle
PDOStatement->rowCount() — Returns the number of rows affected by the last SQL statement
PDOStatement->setAttribute() — Set a statement attribute
PDOStatement->setFetchMode() — Set the default fetch mode for this statement

 

PDO::query()主要用于有记录结果返回的操作(PDOStatement),特别是select操作;

PDO::exec()主要针对没有结果集合返回的操作,如insert,update等操作;

PDOStatement::fetch()是用来获取一条记录,配合while来遍历;

PDOStatement::fetchall()是获取所有记录到一个中


 

 

 

posted @ 2014-06-08 16:30  fendor  阅读(157)  评论(0编辑  收藏  举报