Correcting teacher:查无此人
Correction status:qualified
Teacher's comments:完成的不错,继续努力。数据库很重要,要好好学习数据库。
// 在php中配置数据库,一般用一维关联数组
// 1、配置数据库
$db = [
'type'=>'mysql',
'host'=>'localhost',
'dbname'=>'root',
'username'=>'rootzh',
'password'=>'root123',
]
// 2、配置数据源 (mysql:host=...;dbname=...)
$shujuyuan = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}"; //双引号配置法
$shujuyuan = $db['type'] . ':host=' . $db['host'] . ';dbname=' . $db['dbname']; //单引号配置法
// 3、连接数据库 (这里$pdo就是上图显示的,数据源,数据账户,数据库密码)
try{
$pdo = new PDO($shujuyuan,$db['username'],$db['password']);
}catch(PDOException $e){ //PDOException 付给变量 $e
die('错误提示:' . $e -> getMessage() ); //die终止程序 ,$e的错误内容,通过getMessage展示出来
}
// 小提示 数据库配置也可以使用 索引数组,但一般推荐使用关联数组
$db = ['mysql','localhost','root','rootzh','root123'];
$shujuyuan = $db[0] . ':host=' . $db[1] . ';dbname=' . $db[2];
try{
$pdo = new PDO($shujuyuan,$db[3],$db[4]);
}catch(PDOExecption $e){
die('错误提示:' . $e -> $getMessage());
}
// 1、接入数据库
require __DIR__ . '/content.php';
// 2、创建SQL语句模板
// 增
$sql = 'INSERT INTO `数据表名` SET `字段1`=:值1, `字段2`=:值2, `字段3`=:值3';
$sql = 'INSERT INTO `list` SET `title`=:t, `name`=:n';
// 改
$sql = 'UPDATE `数据表名` SET `字段1`=:值1, `字段2`=:值2, `字段3`=:值3' WHERE `字段`=值;
$sql = 'UPDATE `list` SET `title`=:t, `name`=:n' WHERE `id`=7;
// 删
$sql = 'DELETE FROM `数据表名` WHERE `字段`=值;
$sql = 'DELETE FROM `list` WHERE `id`=7;
// 查
$sql = 'SELECT * FROM `数据表名` WHERE `字段`=值;
$sql = 'SELECT * FROM `list` WHERE `id`=7;
// 3. 创建SQL语句对象
$ssq = $pdo -> prepare($slq);
**PDOStatement 类常用方法**
execute(): 执行SQL语句(读/写)
rowCount(): 返回受影响的记录数量(不适合SELECT)
errorInfo(): 返回错误信息数组
fetch(): 获取结果集中的下一行
fetchAll(): 返回结果集中的所有行
fetchColumn(): 返回结果集下一行的单独的一列
bindColumn(): 将结果集某字段绑定到指定变量上
require __DIR__ . '/content.php';
// 增加,sql语句模板
$sql = 'INSERT INTO `list` SET `title`=:title, `name`=:name `id`=:id';
// 创建SQL语句对象
$ssq = $pdo -> prepare($sql);
// 1、新增的内容
$id = 1;
$title = '国产电影';
$name = 'gc';
// 2、将变量绑定到SQL语句模板的命名占位符上
$ssq -> bindParam('id',$id,PDO::PARAM_INT);
$ssq -> bindParam('title',$title,PDO::PARAM_SRR);
$ssq -> bindParam('name',$name,PDO::PARAM_STR);
// 3、执行SQL操作
if($ssq -> execute()){
if($ssq -> rowCount() > 0){
echo '成功输入' . $ssq -> rowCount() . '条信息, 该记录的主键id是: ' . $pdo->lastInsertId();
}
}else{
die(print_r($ssq -> errorInfo(),true));
}
// 4. 销毁pdo, 关闭连接
$pdo = null; // unset($pdo) 等价
require __DIR__ . '/content.php';
// 1、要更改的SQL模板
$sql = 'UPDATE `list` SET `title`=:t, `name`=:n WHERE `id`=:id';
// 2、SQL语句对象
$ssq = $pdo -> prepare($slq);
// 要更改的内容
$t = '日韩电影';
$n = 'rh';
$id = '2';
// 将变量绑定到SQL语句模板的命名占位符上
$ssq -> bindParam('t',$t,PDO::PARAM_STR);
$ssq -> bindParam('n',$n,PDO::PARAM_STR);
$ssq -> bindParam('$id',$id,PDO::PARAM_INT);
// 执行SQL操作
if($ssq -> execute()){
if($ssq -> rowCount()){
echo '成功更改' . $ssq -> rowCount() . '条信息';
}
}else{
die(print_r($ssq -> errorInfo(), true));
}
// 销毁pdo
unset($pdo); //从内存中删除,等价于 $pdo = Null;
require __DIR__ . '/content.php';
// 设置删除模板
$sql = 'DELECT FROM `list` WHERE `id`=:id';
$ssq = $pdo -> prepare($sql);
// 设置删除那一条
$id = 10;
// 将变量绑定到SQL语句模板的命名占位符上
$ssq->bindParam('id',$id,PDO::PARAM_INT);
// 执行SQL操作 execute()执行sql语句
if($ssq -> execute()){
if($ssq -> rowCount()){
echo '成功删除'.$ssq -> rowCount().'条信息';
}
}else{
die(print_r($ssq->errorInfo(),true));
}
//最后销毁pdo,释放内存
$pdo = Null; //或 unset($pdo);
require __DIR__ . '/content.php';
// 设置查询的sql模板
$sql = 'SELECT * FROM `list` WHERE `id`=:id';
// 设置查询的sql对象
$ssq = $pdo -> prepare($sql);
// 设置查询那一条id
$id = 10;
// 将变量绑定到SQL语句模板的命名占位符上
$ssq->bindParam('id',$id,PDO::PARAM_INT);
// 执行SQL操作 execute()执行sql语句
$ssq -> execute();
// 遍历
while ($movie = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo '<pre>' . print_r($movie, true);
}
//最后销毁pdo,释放内存
$pdo = Null; //或 unset($pdo);