扣丁学堂PHP培训

扣丁学堂PHP开发解析使用pdo连接access数据库并循环显示

2018-07-31  本文已影响1人  994d14631d16

  今天扣丁学堂PHP培训老师给大家介绍以下关于使用pdo连接access数据库并循环显示数据操作,首先我们结合实例形式来分析php使用pdo进行access数据库连接、查询、执行sql语句、预处理等相关操作技巧与注意事项,下面我们一起来看一下吧。

​  PDO连接与查询:

  try{

  $conn=newPDO("odbc:driver={microsoftaccessdriver(*.mdb)};

  dbq=".realpath("MyDatabase.mdb"))

  ordie("链接错误!");

  //echo"链接成功!";

  }

  catch(PDOException$e){

  echo$e->getMessage();

  }

  $sql="select*fromusers";

  1.foreach()方法

  foreach($conn->query($sql)as$row){

  $row["UserID"];

  $row["UserName"];

  $row["UserPassword"];

  }

  2.while()方法

  $rs=$conn->query($sql);

  $rs->setFetchMode(PDO::FETCH_NUM);

  while($row=$rs->fetch()){

  $row[0];

  $row[1];

  $row[2];

  }

  php使用PDO抽象层获取查询结果,主要有三种方式:

  (1)PDO::query()查询。

  看下面这段php代码:

  //PDO::query()查询

  $res=$db->query('select*fromuser');

  $res->setFetchMode(PDO::FETCH_NUM);//数字索引方式

  while($row=$res->fetch()){

  print_r($row);

  }

  ?>

  (2)PDO->exec()处理sql

  //PDO->exec()处理sql

  $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

  $res=$db->exec("insertintouser(id,name)values('','php点点通')");

  echo$res;

  ?>

  (3)PDO::prepare()预处理执行查询

  //PDO::prepare()预处理执行查询

  $res=$db->prepare("select*fromuser");

  $res->execute();

  while($row=$res->fetchAll()){

  print_r($row);

  }

  ?>

  setAttribute()方法是设置属性,常用参数如下:

  PDO::CASE_LOWER--强制列名是小写

  PDO::CASE_NATURAL--列名按照原始的方式

  PDO::CASE_UPPER--强制列名为大写

  setFetchMode方法来设置获取结果集的返回值的类型,常用参数如下:

  PDO::FETCH_ASSOC--关联数组形式

  PDO::FETCH_NUM--数字索引数组形式

  PDO::FETCH_BOTH--两者数组形式都有,这是默认的

  PDO::FETCH_OBJ--按照对象的形式,类似于以前的mysql_fetch_object()

  对上面总结如下:

  查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。

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

  PDO->exec()—处理一条SQL语句,并返回所影响的条目数

  PDO::prepare()主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句

  最后介绍两个常用的函数:

  (1)fetchColumn()获取指定记录里一个字段结果,默认是第一个字段!

  $res=$db->query('select*fromuser');

  //获取指定记录里第二个字段结果

  $col=$res->fetchColumn(1);

  echo$col;

  ?>

  (2)fetchAll(),从一个结果集中获取数据,然后存放在关联数组中

  $res=$db->query('select*fromuser');

  $res_arr=$res->fetchAll();

  print_r($res_arr);

  ?>

上一篇下一篇

猜你喜欢

热点阅读