Correcting teacher:查无此人
Correction status:qualified
Teacher's comments:完成的不错。理顺流程,pdo对你来说就简单了。
<?php
//$pdo = new PDO('mysql:host=localhost;dbname=movie', 'root', 'root');
//print_r($pdo);
// 参数
$db = [
'type' => 'mysql',
'host' => 'localhost',
'dbname' => 'movie',
'username' => 'root',
'password' => 'root',
'port' => 3306
];
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
// 连接数据库,并进行异常处理
try {
$pdo = new PDO($dsn, $db['username'], $db['password']);
// print_r($pdo);
} catch (PDOException $e) {
die('错误信息:' . $e->getMessage());
}
<?php
// 1. 连接数据库
require __DIR__ . '/connect.php';
// 2. 创建SQL语句模板
$sql = 'INSERT INTO `movie_list` SET `movie_name`= :movie_name,`movie_img`= :movie_img,
`movie_director`= :movie_director,`movie_write`= :movie_write,`movie_star`= :movie_star,
`movie_type`= :movie_type,`movie_area`= :movie_area,`movie_language`= :movie_language,
`add_time`= :add_time,`movie_length`= :movie_length,`movie_introduction`= :movie_introduction';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
//print_r($stmt);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$movie_name = '犯罪现场';
$movie_img = 'fzxc.jpg';
$movie_director = '冯志强';
$movie_write = '冯志强';
$movie_star = '古天乐 宣萱 张继聪 谭耀文';
$movie_type = '悬疑 惊悚 犯罪';
$movie_area = '中国香港';
$movie_language = '粤语';
$add_time = '2019-10-12';
$movie_length = '105';
$movie_introduction = '《犯罪現場》以通缉犯徐糠伏尸屋事件开始,负责调查的警官林法栋(张继聪 饰)发现涉及
一宗一个月前的劫案,当中同谋包括汪新元(古天乐 饰)、红毛(凌文龙 饰)与欧阳(李灿森 饰),而犯罪现场
唯一目击证人是一只鹦鹉,林法栋锁定汪新元为嫌犯。不过案情卻不如想像中直接……';
$stmt -> bindParam('movie_name',$movie_name,PDO::PARAM_STR);
$stmt -> bindParam('movie_img',$movie_img,PDO::PARAM_STR);
$stmt -> bindParam('movie_director',$movie_director,PDO::PARAM_STR);
$stmt -> bindParam('movie_write',$movie_write,PDO::PARAM_STR);
$stmt -> bindParam('movie_star',$movie_star,PDO::PARAM_STR);
$stmt -> bindParam('movie_type',$movie_type,PDO::PARAM_STR);
$stmt -> bindParam('movie_area',$movie_area,PDO::PARAM_STR);
$stmt -> bindParam('movie_language',$movie_language,PDO::PARAM_STR);
$stmt -> bindParam('add_time',$add_time,PDO::PARAM_STR);
$stmt -> bindParam('movie_length',$movie_length,PDO::PARAM_INT);
$stmt -> bindParam('movie_introduction',$movie_introduction,PDO::PARAM_STR);
// 5. 执行SQL操作
if ($stmt -> execute()) {
if ($stmt -> rowCount() > 0) {
echo '添加成功了' . $stmt->rowCount() . '条数据';
}
} else {
die('<pre>' . print_r($stmt->errorInfo(), true));
}
// 6. 销毁pdo,关闭连接
$pdo = null;
//unset($pdo);
//print_r($pdo);
<?php
// 1. 连接数据库
require __DIR__ . '/connect.php';
// 2. 创建SQL语句模板
$sql = 'UPDATE `movie_list` SET `movie_name`= :movie_name,`movie_img`= :movie_img WHERE `movie_id`= :movie_id';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$movie_name = '双子杀手';
$movie_img = 'szss.jpg';
$movie_id = 8;
$stmt->bindParam('movie_name', $movie_name, PDO::PARAM_STR);
$stmt->bindParam('movie_img', $movie_img, PDO::PARAM_STR);
$stmt->bindParam('movie_id', $movie_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,关闭连接
$pdo = null;
<?php
// 1. 连接数据库
require __DIR__ . '/connect.php';
// 2. 创建SQL语句模板
$sql = 'DELETE FROM `movie_list` WHERE `movie_id`= :movie_id';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$movie_id = 5;
$stmt->bindParam('movie_id', $movie_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,关闭连接
$pdo = null;
<?php
// 1. 连接数据库
require __DIR__ . '/connect.php';
// 2. 创建SQL语句模板
$sql = 'SELECT * FROM `movie_list` WHERE `movie_id`= :movie_id';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$movie_id = 2;
$stmt->bindParam('movie_id',$movie_id,PDO::PARAM_INT);
// 5. 执行SQL操作
$stmt->execute();
// FETCH_ASSOC 关联数组形式
// 遍历输出,返回一维数组
while ($movie = $stmt->fetch(PDO::FETCH_ASSOC)) {
// 格式化输出
echo '<pre>' . print_r($movie, true);
// print_r($movie);
}
// 6. 销毁pdo,关闭连接
$pdo = null;
<?php
// 1. 连接数据库
require __DIR__ . '/connect.php';
// 2. 创建SQL语句模板
$sql = 'SELECT * FROM `movie_list` WHERE `movie_condition`= :movie_condition';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$movie_condition = 2;
$stmt->bindParam('movie_condition',$movie_condition,PDO::PARAM_INT);
// 5. 执行SQL操作
$stmt->execute();
// FETCH_ASSOC 关联数组形式
// 返回二维数组
$movies = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo '<pre>' . print_r($movies, true);
echo '<hr>';
foreach ($movies as $movie) {
echo '<pre>' . print_r($movie, true);
// print_r($movie);
}
// 6. 销毁pdo,关闭连接
$pdo = null;
<?php
// 1. 连接数据库
require __DIR__ . '/connect.php';
// 2. 创建SQL语句模板
$sql = 'SELECT * FROM `movie_list` WHERE `movie_condition`= :movie_condition';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$movie_condition = 2;
$stmt->bindParam('movie_condition',$movie_condition,PDO::PARAM_INT);
// 5. 执行SQL操作
$stmt->execute();
$i = 1;
while ($name = $stmt->fetchColumn(1)) {
echo '查到的第' . $i . '个电影名字:' . $name . '<hr>';
$i++;
}
// 6. 销毁pdo,关闭连接
$pdo = null;
<?php
// 1. 连接数据库
require __DIR__ . '/connect.php';
// 2. 创建SQL语句模板
$sql = 'SELECT * FROM `movie_list` WHERE `movie_condition`= :movie_condition';
// 3. 创建SQL语句对象
$stmt = $pdo->prepare($sql);
// 4. 将变量绑定到SQL语句模板的命名占位符上
$movie_condition = 2;
$stmt->bindParam('movie_condition',$movie_condition,PDO::PARAM_INT);
// 5. 执行SQL操作
$stmt->execute();
// 将结果集中的记录中的字段, 绑定到指定的变量上
$stmt->bindColumn('movie_name', $name);
$stmt->bindColumn('movie_introduction', $intr);
while ($stmt->fetch()) {
echo '片名:' . $name . ',简介:' . $intr . '<hr>';
}
// 6. 销毁pdo,关闭连接
$pdo = null;
PDO操作数据库的基本流程为:
$pdo = new PDO($dsn, $username, $password);
$stmt = $pdo->prepare($sql)
$stmt->execute()
$pdo = null