PDO的基础使用

1,数据库设计

create table book(

id int(4) not null primary key auto_increment,

name varchar(255) not null,

author varchar(255) not null)

CHARSET=utf8;

微信图片_20180305101021.png

2,插入测试数据

insert into book values

(1,'php基础教程','smile1'),

(2,'php中级教程','smile2'),

(3,'php高级教程','smile3');

数据库展示:

微信图片_20180305102309.png

3,设置数据库连接变量

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 上午 9:23
 */
header("content-type:text/html;charset=utf-8");
//mysql:host:localhost;port=3306;dbname=php;charset=utf-8
$dbms='mysql';
$host='localhost';
$port='3306';
$dbname='php';
$charset='utf-8';
//用户名与密码
$user='root';
$pwd='root';
$dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";

4,PDO连接数据库

<?php
try{
    $pdo=new PDO($dsn,$user,$pwd);
}catch (PDOException $exception){
    echo $exception->getMessage().'<br>';
}

5,执行sql语句并打印

$sql='select *from book';
$result=$pdo->query($sql);
$row=$result->fetchAll();
echo "<pre>";
print_r($row);
echo "</pre>";

打印结果展示:

微信图片_20180305102005.png

实际操作中有时候只需要获取索引数组,这时只需要更改fetchAll()函数里的参数即可

代码:

<?php
$row=$result->fetchAll(PDO::FETCH_ASSOC); //获取索引数组

打印结果如下:

微信图片_20180305125838.png

想要获取数据库第二列的值,代码如下:

<?php
$row=$result->fetchAll(PDO::FETCH_COLUMN,1);//获取第二列的所有值

打印如下所示:

微信图片_20180305130114.png

继续学习
||
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/5 0005 * Time: 上午 9:23 */ header("content-type:text/html;charset=utf-8"); //mysql:host:localhost;port=3306;dbname=php;charset=utf-8 $dbms='mysql'; $host='localhost'; $port='3306'; $dbname='php'; $charset='utf-8'; //用户名与密码 $user='root'; $pwd='root'; $dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset"; try{ $pdo=new PDO($dsn,$user,$pwd); }catch (PDOException $exception){ echo $exception->getMessage().'<br>'; } $sql='select *from book'; $result=$pdo->query($sql); $row=$result->fetchAll(); echo "<pre>"; print_r($row); echo "</pre>";
提交重置代码