博客列表 >php第九期 11月21日作业pdo操作:连接、增删查改操作

php第九期 11月21日作业pdo操作:连接、增删查改操作

随风
随风原创
2019年12月01日 00:50:17650浏览

pdo操作:连接、增删查改操作(手写)

![]

练熟pdo操作(没讲到的方法,也要练习)

数据库连接参数

`<?php
// 数据库连接参数
$db = [
‘type’ => ‘mysql’,
‘host’ => ‘localhost’,
‘dbname’ => ‘gzg’,
‘username’ => ‘root’,
‘password’ => ‘root’,

];
// 配置数据源DSN信息
//}”之间不能有空格否则会报错
$dsn = “{$db[‘type’]}:host={$db[‘host’]};dbname={$db[‘dbname’]}”;
//$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());
}

// 配置数据源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());
//}`

连接数据库

`<?php
// 1. 连接数据库
require DIR . ‘/conn.php’;

新增记录

// 2. 创建SQL语句模板
$sql = ‘INSERT INTO system SET sys_id= :sys_id, title=:title, desc=:desc, key=:key, copy=:copy’;

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

// 4. 将变量绑定到SQL语句模板的命名占位符上
$sys_id = 1;
$title = ‘私人影院’;
$desc = ‘收集全网最新最全的影视资源’;
$key = ‘国产,欧美,日韩’;
$copy = ‘gzg’;

//绑定到SQL语句模板的命名占位符
$stmt->bindParam(‘sys_id’,$sys_id,PDO::PARAM_INT);
$stmt->bindParam(‘title’,$title,PDO::PARAM_STR);
$stmt->bindParam(‘desc’,$desc,PDO::PARAM_STR);
$stmt->bindParam(‘key’,$key,PDO::PARAM_STR);
$stmt->bindParam(‘copy’,$copy,PDO::PARAM_STR);

// 5. 执行SQL操作

// $stmt->execute();

//添加提示语句
if($stmt->execute()){
if($stmt->rowCount()>0) {
echo ‘成功添加’ . $stmt->rowCount() . ‘条记录,该记录的主键id是:’ . $pdo->lastInsertId();
}
}else{
die(‘<pre’ . printf($stmt->errorInfo(),true));
}

`

删除

<?php //1 require __DIR__ . '/conn.php'; //2 $sql ='DELETE FROMsystemWHEREsys_id`= :sys_id ‘;
$stmt = $pdo->prepare($sql);
//3
$sys_id=1;
$stmt->bindParam(‘sys_id’,$s=$sys_id,PDO::PARAM_INT);

// 4
// $stmt->execute();

if ($stmt->execute()) {
if ($stmt->rowCount() > 0) {
echo ‘成功删除了’ . $stmt->rowCount() . ‘条记录’;
}
} else {
die(‘<pre>‘ . print_r($stmt->errorInfo(), true));
}

//5
$pdo=null;
`

修改

`<?php
//1
require DIR .’/conn.php’;

//2
$sql = ‘UPDATE system SET copy =:copy WHERE sys_id =:sys_id ‘;

//3
$stm = $pdo->prepare($sql);
//4

$copy=’gzg’;
$sys_id=1;
$stm->bindParam(‘copy’,$copy);
$stm->bindParam(‘sys_id’,$sys_id);
//5
//die( $stm->debugDumpParams()) ;
if ($stm->execute()) {
if ($stm->rowCount() > 0) {
echo ‘成功更新了’ . $stm->rowCount() . ‘条记录’;
}
} else {
die(‘<pre>‘ . print_r($stm->errorInfo(), true));
}

//6
$pdo=null;`

查询

<?php //1连接数据库 require __DIR__ . '/conn.php'; //2 创建sql模板 $sql = ' SELECT * FROMmoviesWHEREmov_id` > :mov_id’;
$stmt = $pdo ->prepare($sql);
//3绑定数据 并执行
//3-1
//$mov_id=1;
//$stmt ->bindParam(mov_id,$mov_id);
//$stmt ->execute();
//3-2
//$data =[‘mov_id’ =>5];

//$stmt -> execute( $data);

//3-3

$stmt -> execute([‘mov_id’ => 1]);
//4显示
//4-1
//$data = $stmt->fetch(PDO::FETCH_ASSOC);
//echo ‘<pre>‘ . print_r($data ,true);

//4-2
//while ($data = $stmt->fetch(PDO::FETCH_ASSOC)) {
// echo ‘<pre>‘ . print_r($data, true);
//}
//echo ‘<hr>‘;

//4-3
$data =$stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($data as $d){
echo ‘<pre>‘ . print_r($d,true);
}

//5销毁
$pdo=null;
`

总结

经过十几个php的文件总算对pdo有一定掌握,估计在实战中的应用还是比较差,希望在实战中能更好的掌握。

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