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()是获取所有记录到一个中