创建商品表goods
基本参数
// 数据库默认主机
'host' => $host?? 'localhost',
// 默认数据库
'dbname'=> $dbname ?? 'php11edu',
// 默认字符编码集
'charset'=> $charset ?? 'utf8',
// 默认端口号
'port'=> $port ?? '3306',
// 默认的用户名
'username'=> $username ?? 'root',
// 默认的用户密码
'password'=> $password ?? 'root123456',
查询
多条记录查询
// 1. 连接数据库
require 'connect1.php';
// 2. 操作数据库
$sql = "SELECT `id`, `name`,`region`,`stock` FROM `goods` WHERE `price` >4500";
$mysqli_result = $mysqli->query($sql);
if (!$mysqli_result){
echo '查询失败!';
die;
}
if ($mysqli_result && $mysqli_result->num_rows > 0 ) {
echo "<table border='1' cellspacing='0' cellpadding='15'><tr><th>编号</th><th>商品名称</th><th>产地</th><th>库存</th></tr>";
$goods = $mysqli_result->fetch_all();
foreach ($goods as $good) {
// vprintf() 与 printf()功能一样, 区别 就是参数是数组
vprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>', $good);
}
echo '</table>';
} else {
echo '没有查询到符合条件的产品!';
}
// 3. 关闭连接
// 释放结果集
$mysqli_result->free_result();
//关闭数据库连接
$mysqli->close();
增加记录
// 1. 连接数据库
require 'connect1.php';
// 2. 操作数据库
$arr = ['美的空调1.5匹', '美的', 9600, '浙江温州', 340];
array_walk($arr, function(&$item, $key) {
if (gettype($item)==='string' ) $item = "'$item'";
});
$data = implode(', ', $arr);
$sql = "INSERT `goods` (`name`,`brand`,`price`,`region`,`stock`) VALUES ($data)";
// var_dump($mysqli);
// die;
if ($mysqli->query($sql)) {
if ($mysqli->affected_rows > 0) {
echo '成功添加了 ' . $mysqli->affected_rows . ' 条记录, 新增记录主键ID: ' . $mysqli->insert_id;
} else {
echo '没有添加新记录';
}
} else {
die('添加失败'. $mysqli->errno . ' : ' . $mysqli->error);
}
// 3. 关闭连接
// 断开数据库连接
$mysqli->close();
更新记录
// 1. 连接数据库
require 'connect1.php';
// 2. 操作数据库
$arr = ['name'=>'美的空调2匹', 'price'=>10960];
array_walk($arr, function(&$item, $key) {
if (gettype($item)==='string' ){
$item = "`$key`='$item'";
}else{
$item = "`$key`=$item";
}
});
$data = implode(', ', $arr);
// echo $data;
// die;
$sql = "UPDATE `goods` SET " . $data . " WHERE `id` = 12";
if ($mysqli->query($sql)) {
if ($mysqli->affected_rows > 0) {
echo '成功更新了 ' . $mysqli->affected_rows . ' 条记录';
} else {
echo '没有更新任何记录';
}
} else {
die('更新失败'. $mysqli->errno . ' : ' . $mysqli->error);
}
// 3. 关闭连接
$mysqli->close();
删除记录
// 1. 连接数据库
require_once 'connect1.php';
// 2. 操作数据库
$sql = "DELETE FROM `goods` WHERE `id` =" . $_GET['id'];
if ($mysqli->query($sql)) {
if ($mysqli->affected_rows > 0) {
echo '成功删除了 id=' .$_GET['id'] . ' 的记录';
} else {
echo '没有删除任何记录';
}
} else {
die('删除失败'. $mysqli->errno . ' : ' . $mysqli->error);
}
// 3. 关闭连接
$mysqli->close();
小结:
1、代码要写活,便于以后通过表单进行数据的交互。利用array_walk()函数,结合朱老师和
一位同学的方案,可以把增、删、改、查的sql语句写得比较灵活。
2、现在对表单的交互操作了解不深,下一步立争把增、删、改、查写在一个页面里,通过表单、按钮实现,给用户更好的交互体验。