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

写PDO步骤:

datebase存储数据库信息:

实例

// 数据库连接参数

return [

'type'=>'mysql',

'host'=>'127.0.0.1',

'dbname'=>'student',

'username'=>'root',

'password'=>'root'

];

运行实例 »

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

connect连接数据库:

实例

//数据库连接参数

$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模板,增加数据库信息:

实例

//新增记录

//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() .'个学生,
学号是:'. $pdo->lastInsertId() . '
名字:' . $name . '
性别:' . $sex . '
年龄:' . $age;

}

}else {

die('

' . print_r($stmt->errorInfo(), true));

}

//6.关闭数据库连接

$pdo = null;

运行实例 »

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

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

a21188dfe54c9b8920166af396c65e07.png

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

实例

//删除记录

//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('

'. print_r($stmt->errorInfo(),true));

}

//6.关闭数据库连接

$pdo = null;

运行实例 »

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

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

d387459c86f7476aae6c3df003d21548.png

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

实例

//更新记录

//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() .'个学生信息。
学号是:'. $pdo->lastInsertId() . '
名字:' . $name . '
性别:' . $sex . '
年龄:' . $age;

}

}else {

die('

'. print_r($stmt->errorInfo(),true));

}

//6.关闭数据库连接

$pdo = null;

运行实例 »

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

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

de558a8c8884c494e482cceb49c40993.png

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

实例

//查询数据:用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 '

'.print_r($students,true);

}

//7.关闭数据库连接

$pdo = null;

运行实例 »

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

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

917cbc10bd92a8514e21be67f9b5429a.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值