Correcting teacher:查无此人
Correction status:qualified
Teacher's comments:完成的不错,继续努力。
<?php
// 数据库连接参数
$db = [
'type' => 'mysql',
'host' => 'localhost',
'dbname' => 'mysql',
'username' => 'root',
'password' => 'root',
];
// 配置数据源DSN信息
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
// 连接数据库
try {
$pdo = new PDO($dsn, $db['username'], $db['password']);
} catch (PDOException $e) {
echo "111";
die('Connection Failed: ' . $e->getMessage());
};
pdo预处理
创建sql语句模板
$sql='INSERT INTO `system` SET `sys_id`= :sys_id, `title`=:title, `desc`=:desc, `key`=:key, `copy`=:copy';
// 创建sql语句对象
$stmt=$pdo->prepare($sql);
/// 4. 将变量绑定到SQL语句模板的命名占位符上
$sys_id=1;
$title='私人影院';
$desc='收集全网最新最全的影视资源';
$key='国产,欧美,日韩';
$copy='欧阳克';
$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);
//# 新增记录
// 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='欧阳克';
$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操作
if($stmt->execute()){
if($stmt->rowCount()>0){
echo('成功添加');
}
}else{
die('<pre>'.print_r($stmt->errorInfo(),true));
}
更新记录
2. 创建SQL语句模板
$sql = 'UPDATE `category` SET `name` = :name, `alias` = :alias WHERE `cate_id`=:cate_id';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$name = 'xjj';
$alias = '小姐姐';
$cate_id = 4;
$stmt->bindParam('name', $name, PDO::PARAM_STR);
$stmt->bindParam('alias', $alias, PDO::PARAM_STR);
$stmt->bindParam('cate_id', $cate_id, PDO::PARAM_INT);
// 5. 执行SQL操作
if ($stmt->execute()) {
if ($stmt->rowCount() > 0) {
echo '成功更新了' . $stmt->rowCount() . '条记录';
}
} else {
echo '1111';
die('<pre>' . print_r($stmt->errorInfo(), true));
}
# 删除记录
创建SQL语句模板
$sql = 'DELETE FROM `category` WHERE `cate_id`=:cate_id';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
/// 4. 将变量绑定到SQL语句模板的命名占位符上
$cate_id = 1;
$stmt->bindParam('cate_id', $cate_id, PDO::PARAM_INT);
// 5. 执行SQL操作
if ($stmt->execute()) {
if ($stmt->rowCount() > 0) {
echo '成功删除了' . $stmt->rowCount() . '条记录';
}
} else {
die('<pre>' . print_r($stmt->errorInfo(), true));
}
查询1: fetch() + while()
创建sql语句模板
$sql='SELECT * FROM `movies` where `cate_id`=:cate_id';
//创建、sql语句对象
$stmt=$pdo->prepare($sql);
//绑定变量
$cate_id=1;
$stmt->bindParam('cate_id',$cate_id, PDO::PARAM_INT);
执行操作
$stmt->execute();
遍历
while($movie=$stmt->fetch(PDO::FETCH_ASSOC)){
echo '<pre>'.print_r($movie,true);
}
# 查询2: fetchAll()
//创建sql语句模板
$sql=' SELECT * FROM `movies` WHERE `cate_id`=:cate_id';
//创建sql语句对象
$stmt=$pdo->prepare($sql);
//绑定变量
$cate_id=3;
$stmt->bindParam('cate_id',$cate_id,PDO::PARAM_INT);
//执行操作
$stmt->execute();
//遍历二维数组
$movies=$stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($movies as $movie){
echo '<pre>'.print_r($movie,true);
}
//# 查询3: bindColumn()
// 2. 创建SQL语句模板
$sql = 'SELECT * FROM `movies` WHERE `cate_id` = :cate_id';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$cate_id = 3;
$stmt->bindParam('cate_id', $cate_id, PDO::PARAM_INT);
// 5. 执行SQL操作
$stmt->execute();
// 将结果集中的记录中的字段, 绑定到指定的变量上
$stmt->bindColumn('name', $name);
$stmt->bindColumn('detail', $detail);
while ($stmt->fetch(PDO::FETCH_ASSOC)) {
$detail = mb_substr($detail,0, 20,'utf-8');
echo '片名: ' . $name . '<br>' . '简介: ' . $detail . '...<hr>';
}
?>