博客列表 >写出PDO操作数据库的基本步骤;制作一个学生数据库和学生信息表(写好PDO步骤后,添加好SQL语句模板,利用预处理方法进行数据库的增删改查工作)2019年6月5日20点

写出PDO操作数据库的基本步骤;制作一个学生数据库和学生信息表(写好PDO步骤后,添加好SQL语句模板,利用预处理方法进行数据库的增删改查工作)2019年6月5日20点

Nick的博客
Nick的博客原创
2019年06月08日 16:39:201243浏览

写PDO步骤:

datebase存储数据库信息:

实例

<?php

// 数据库连接参数
return [
    'type'=>'mysql',
    'host'=>'127.0.0.1',
    'dbname'=>'student',
    'username'=>'root',
    'password'=>'root'
];

运行实例 »

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


connect连接数据库:

实例

<?php
//数据库连接参数
$db = require 'database.php';

//配置数据源DSN信息
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";

//连接数据库
try {
    $pdo = new PDO($dsn, $db['username'],$db['password']);
}catch (PDOException $e) {
    die('Connection Failed:' . $e->getMessage());
}

//测试是否连接上数据库
//var_dump($pdo);

运行实例 »

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



在数据创建一个学生信息表:

实例

CREATE TABLE `student` (
  `id` int(5) unsigned NOT NULL COMMENT '学号' AUTO_INCREMENT PRIMARY KEY,
  `name` varchar(20) NOT NULL COMMENT '名字',
  `sex` char(2) NOT NULL COMMENT '性别',
  `age` char(3) NOT NULL COMMENT '年龄'
) ENGINE='InnoDB';

运行实例 »

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



利用预处理方法,设定好SQL模板,增加数据库信息:

实例

<?php
//新增记录
//1.连接数据库
require 'inc/connect.php';

//2.创建SQL语句模板
$sql = 'INSERT INTO `student` SET `name`= :name, `sex`= :sex, `age`= :age';

//3.创建SQL语句对象
$stmt = $pdo->prepare($sql);

//4.将变量绑定到SQL语句模板的命名占位符上
$name = 'Nick';
$sex = '男';
$age = '27';
$stmt->bindParam('name',$name,PDO::PARAM_STR);
$stmt->bindParam('sex',$sex,PDO::PARAM_STR);
$stmt->bindParam('age',$age,PDO::PARAM_INT);

//5.执行SQL操作
if ($stmt->execute()) {
    if ($stmt->rowCount() > 0) {
        echo '成功添加'. $stmt->rowCount() .'个学生,<br>学号是:'. $pdo->lastInsertId() . '<br>名字:' . $name . '<br>性别:' . $sex . '<br>年龄:' . $age;
    }
}else {
    die('<pre>' . print_r($stmt->errorInfo(), true));
}

//6.关闭数据库连接
$pdo = null;

运行实例 »

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


刷新网页4次(每刷新一次运行一次PHP代码),增加4个学生信息,在页面输出增加结果:

增加学生.png


利用预处理方法,设定好SQL模板,删除数据库信息:

实例

<?php
//删除记录
//1.连接数据库
require 'inc/connect.php';

//2.创建SQL语句模板
$sql = 'DELETE FROM `student` WHERE `id`=:id';

//3.创建SQL语句对象
$stmt = $pdo->prepare($sql);

//4.将变量绑定到SQL语句模板的命名占位符上
$id = 4;
$stmt->bindParam('id',$id,PDO::PARAM_INT);

//5.执行SQL操作
if ($stmt->execute()) {
    if ($stmt->rowCount() > 0) {
        echo '成功删除'. $stmt->rowCount() .'个学生信息';
    }
}else {
    die('<pre>'. print_r($stmt->errorInfo(),true));
}

//6.关闭数据库连接
$pdo = null;

运行实例 »

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


删除一个id为4的学生信息,在页面中显示:

删除学生信息.png



利用预处理方法,设定好SQL模板,修改数据库信息:

实例

<?php
//更新记录
//1.连接数据库
require 'inc/connect.php';

//2.创建SQL语句模板
$sql = 'UPDATE `student` SET `name`= :name, `sex`=:sex, `age`=:age WHERE `id`=:id';

//3.创建SQL语句对象
$stmt = $pdo->prepare($sql);

//4.将变量绑定到SQL语句模板的命名占位符上
$name = 'peter';
$sex = '男';
$age = 40;
$id = 2;
$stmt->bindParam('name',$name,PDO::PARAM_STR);
$stmt->bindParam('sex',$sex,PDO::PARAM_STR);
$stmt->bindParam('age',$age,PDO::PARAM_INT);
$stmt->bindParam('id',$id,PDO::PARAM_INT);

//5.执行SQL操作
if ($stmt->execute()) {
    if ($stmt->rowCount() > 0) {
        echo '成功更新'. $stmt->rowCount() .'个学生信息。<br>学号是:'. $pdo->lastInsertId() . '<br>名字:' . $name . '<br>性别:' . $sex . '<br>年龄:' . $age;
    }
}else {
    die('<pre>'. print_r($stmt->errorInfo(),true));
}

//6.关闭数据库连接
$pdo = null;

运行实例 »

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


修改id为2的学生信息,在数据库中查询student表:

查询student表.png




利用预处理方法,设定好SQL模板,查询数据库信息:

实例

<?php
//查询数据:用fetchAll();
//1.连接数据库
require 'inc/connect.php';

//2.创建SQL语句模板
$sql = 'SELECT * FROM `student`  WHERE `id`=:id';

//3.创建SQL语句对象
$stmt = $pdo->prepare($sql);

//4.将变量绑定到SQL语句模板的命名占位符上
$id = 3;
$stmt->bindParam('id',$id,PDO::PARAM_INT);

//5.执行SQL操作
$stmt->execute();

//6.遍历数据库数据,返回二维数组
$student = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($student as $students) {
    echo '<pre>'.print_r($students,true);
}

//7.关闭数据库连接
$pdo = null;

运行实例 »

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


查询student表中id为3的学生信息,在页面中输出数组

查找student表中的id为3的学生.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议