Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:先写熟悉, 遇到了就知道怎么办了
一、PHP数据库介绍
PHP数据库,一般用MySQL较多,是一款开源免费的关系型数据库软件。可视化数据库管理软件有Navicat,PHPMyadmin,adminer等。
二、PDO介绍
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。核心是用于数据库的连接、发送sql语句等。
PDO连接数据库三要素(重要参数):数据源: DSN; 用户名: username;用户密码: password
三、创建数据库,数据表和数据库配置连接文件
1、连接数据库:$pdo = new PDO($dsn, $username, $password);;
DSN: 数据库类型:host=数据库的主机地址;dbname=默认的数据库名称;chart=… ;port= …$dsn = 'mysql:host=localhost;dbname=users';
<?php // 连接数据库 namespace dali; use Exception; use PDO; // 加载配置参数 $config = require 'data/conn.php'; $type = $config['type']; $host = $config['host']; $dbname = $config['dbname']; $username = $config['username']; $password = $config['password']; //数据源 $dsn = $type . ':' . 'host=' . $host . ';dbname=' . $dbname; try { // 连接数据库 $pdo = new PDO($dsn, $username, $password); // var_dump($pdo); } catch (Exception $e) { die($e->getMessage()); }
2、插入语句: $sql = 'INSERT 表名 SET name=?, age=?,.... ';
<?php $arr = ['Emy','foshan', 'guangdong', 1589382617]; array_walk($arr, function(&$item, $key, $length) { if ($key < $length-1 ) $item = "'$item'"; }, count($arr)); $data = implode(', ', $arr); $sql = "INSERT `users` (`name`,`city`,`province`,`add_time`) VALUES ($data)"; if ($db->query($sql)) { if ($db->affected_rows > 0) { echo '用户新增成功 ' . $db->affected_rows . ' 条记录, 新增记录主键ID: ' . $db->insert_id; } else { echo '没有添加新记录'; } } else { die('添加失败'. $db->error . ' : ' . $db->error); } ?>
3、查询语句: $sql = 'SELECT 字段列表 FROM 数据表名称 WHERE 查询条件 ';
<?php $sql = 'select * from users '; $demo = $db -> query( $sql ); if ($demo && $demo->num_rows > 0 ) { $resl = $demo->fetch_all(); foreach (demol as $demols) { vprintf('<pre>ID=%s;姓名=%s;城市=%s;省份=%s</pre>', $demols); } } else { echo '查询失败'; } ?>
4、更新语句:$sql = "UPDATE 表名 SET 字段=新值 WHERE 更新条件";
<?php $arr = ['name'=>'emy', 'city'=>'foshan']; array_walk($arr, function(&$item, $key) { $item = "`$key` = '$item'"; }); $data = implode(', ', $arr); $sql = "UPDATE `users` SET " . $data . " WHERE `id` = 1"; if ($db->query($sql)) { if ($db->affected_rows > 0) { echo '成功更新了 ' . $db->affected_rows . ' 条记录'; } else { echo '没有更新任何记录'; } } else { die('更新失败'. $db->error . ' : ' . $db->error); } ?>
5、删除语句:$sql = "DELETE FROM 表名 WHERE 删除条件".
<?php $sql = "DELETE FROM `users` WHERE `id` =" . $_GET['id']; if ($db->query($sql)) { if ($db->affected_rows > 0) { echo '成功删除了 id=' .$_GET['id'] . ' 的记录'; } else { echo '没有删除任何记录'; } } else { die('删除失败'. $db->errno . ' : ' . $db->error); } ?>
四、总结:这章的内容还是能看明白,如何运用自如,还是需要在实操中加强运用。