zoukankan      html  css  js  c++  java
  • 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()是获取所有记录到一个中


     

  • 相关阅读:
    TWaver3D直线、曲线、曲面的绘制
    react开发教程(六)React与DOM
    java Web开发实现手机拍照上传到服务器
    手把手教你从零写一个简单的 VUE--模板篇
    file_get_contents函数获取不到数据的一种情况
    Windows系统下批处理快速创建WIFI
    操作系统题库之简答题部分(个人整理,附带答案)
    回溯到底是个什么东西(含有大量经典例题加详细分析)
    到底什么是dp思想(内含大量经典例题,附带详细解析)
    一次性弄懂到底什么叫做分治思想(含有大量经典例题,附带详细解析)
  • 原文地址:https://www.cnblogs.com/eyeSpace/p/3776383.html
Copyright © 2011-2022 走看看