博主信息
博文 11
粉丝 0
评论 0
访问量 10423
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP基础之数据库操作一-2019年2月22日22点30分
澜海的博客
原创
964人浏览过

作业要求:

1. PDO连接数据库的过程与参数设置

2. 如果创建PDO预处理对象: prepare()方法

3. bindParam()与bindValue()

4. execute()直接传参

5. fetch() 和 fetchAll()的区别与联系

6. bindColumn()的功能

1. PDO连接数据库的过程与参数设置

PDO 为PHP 数据对象

PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。

PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。

数据库的连接过程主要为3个步骤

(1) 创建pdo对象,连接数据库

(2) 准备SQL语句,创建预处理对象

(3) 执行SQL语句

创建pdo对象 主要需要3个参数

(1) 数据库连接串:含数据库类型、数据库主机IP、端口和数据库名称

(2) 连接数据库的用户

(3) 连接数据库的密码

测试代码如下:

实例

<?php
$dbms = 'mysql';     //数据库类型
$host = '127.0.0.1'; //数据库主机IP或主机名
$port = '3306';      //数据库端口号
$dbName = 'php';     //使用的数据库
$user = 'root';      //数据库连接用户名
$pass = 'root';      //对应的密码

$dsn = "$dbms:host=$host;port=$port;dbname=$dbName";

try {
    $dbh = new PDO($dsn, $user, $pass);  //初始化一个PDO对象
    echo "连接成功<br/>";

} catch (PDOException $e){
    die ("数据库连接错误: ".$e->getMessage() . '<br/>');
}

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

2. 如果创建PDO预处理对象: prepare()方法

prepare()方法:准备要执行的语句,并返回语句对象

实例

$sql = 'select * from `staff`';
$stmt = $dbh->prepare($sql);

运行实例 »

点击 "运行实例" 按钮查看在线实例

3. bindParam()与bindValue()

bindParam() 绑定一个参数到指定的变量名

bindValue() 把一个值绑定到一个参数

代码如下:

实例

$sql1 = 'select `id`, `name`, `position` from `staff` where `id`= :id and `age` = :age' ;
$stmt1 = $dbh->prepare($sql1);
$id = 3;
$stmt1->bindParam(':id', $id, PDO::PARAM_INT) ;
$stmt1->bindValue(':age', 50, PDO::PARAM_INT);

运行实例 »

点击 "运行实例" 按钮查看在线实例

4. execute()直接传参

 执行一条预处理语句

成功时返回 TRUE, 或者在失败时返回 FALSE。

代码:

实例

$sql = 'select `id`,`name`,`position`  from `staff` where `id` between :start and :stop';

$stmt = $pdo->prepare($sql);

//将变量与sql语句模板中的命名占位符进行绑定
$id = 3;
$res = $stmt->execute(['start'=>2 ,'stop'=>4]);

运行实例 »

点击 "运行实例" 按钮查看在线实例

5. fetch() 和 fetchAll()的区别与联系

PDOStatement::fetch — 从结果集中获取下一行

PDOStatement::fetchAll — 返回一个包含结果集中所有行的数组

代码:

实例

$sql2 = 'select `id`, `name`, `position` from `staff`';

$stmt2 = $dbh->prepare($sql2);

$stmt2->bindColumn('id', $id, PDO::PARAM_INT );
$stmt2->bindColumn('name', $name, PDO::PARAM_STR, 30);
$stmt2->bindColumn('position', $position, PDO::PARAM_STR, 30);

$stmt2->execute();

$stmt2->fetch(PDO::FETCH_ASSOC);
echo 'ID : ' . $id . 'NAME : ' .$name . 'POSITION : ' .$position;


echo '<br>';
$result = $stmt2->fetchAll();
foreach($result as $staff){
    print_r($staff);
    echo '<br>';
}
echo '<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

6. bindColumn()的功能

绑定一列到一个 PHP 变量

上面已经演示过了,即把一个列绑定到一个变量上,以便输出或加工。

实例

$stmt2->bindColumn('id', $id, PDO::PARAM_INT );
$stmt2->bindColumn('name', $name, PDO::PARAM_STR, 30);
$stmt2->bindColumn('position', $position, PDO::PARAM_STR, 30);

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学