七.PHP操作MySQL

9 篇文章 0 订阅

一.开启PHP扩展功能

在php.init配置文件中开启

二.查看是否开启功能成功

<?php
phpinfo();
?>

三.php操作MySQL流程

  • 连接数据库
  • 准备SQL语句
  • 发送SQL语句到MyQSQL服务器
  • MySQL服务器收到SQL语句后执行
  • 接受MySQL服务器的结果
  • PHP解析服务器中的结果
  • 关闭连接

1.连接数据库

函数:mysqli_connect('服务器的地址',‘用户名’,‘密码’);

返回值:如果成功返回资源,如果失败返回false;

2.准备SQL语句

$link = mysqli_connect('localhost','root', '');
if (!$link) {
    echo '连接失败';
}

3.发送SQL语句到MySQL服务器

函数:mysqli_query(要发送的SQL语句);

返回值:失败返回false,通过mysqli_query()成功执行select、show、sescribe或explain都会返回一个Mysqli——resualt对象,其他返回true。

4.MySQL服务器接收到SQL语句后进行执行

5.接收MySQL服务器的结果

6.需要解析结果

$row = mysqli_fetch_assoc($res);
var_dump($row);

注意:结果集资源在解析时,会每次获取一条数据存储成数组的形式返回,当返回这条数据后,数据库中数据指针下移,一直到没有返回false;

循环解决:

7.关闭连接

函数:mysqli_close($link);

四.例子:

库操作:

//库操作
//1.连接数据库
$link = musqli_connect('localhost','root','');
//2.设置通信编码
$sql_utf8 = 'set names utf8';
//3.发送SQL语句
mysqli_query($link, $sql_utf8);
//4.准备SQL语句
$sql = 'create datsbase student charset=utf8_general_ci';
//5.发送SQL语句
$res = mysqli_query($link,$sql);
//6.判断是否成功
if ($res) {
    echo '创建数据库成功';
} else {

    echo '创建数据库失败';
}

表操作:

$link = mysqli_connect('localhost','root', '');
mysqli_query($link,'set name utf8');
mysqli_query($link,'use php10');
$sql = <<<EEE
create tabel {$tbname} (
id tinny not anto_increament primary key,
name varchar(5) not null
)charset = utf8;
EEE;
$res = mysqli_query($link, $sql);
if ($res) {
    echo '创建表成功';
} else {
    echo '创建表成失败';
}

 

数据库操作:

<?php
//获取当前的页码
$page = isset($_GET['page']) ? $_GET['page'] : 1;
//每页显示
$pageSize = 10;
//偏移量
$offset = ($page-1)*$pageSize;
//limit 偏移量,每页显示数量; 
//获取所有商品数据
//1.连接数据库
$link = mysqli_connect('localhost','root','','php10');
//获取总数量
$sql_count = "select count(id) as num from goods;";
$lenth = mysqli_query($link,$sql_count);
$count = mysqli_fetch_assoc($lenth);
//计算最大页码
$max_page = ceil($count['num'] / $pageSize);  //向上取整--如:6.1-->7
//2.设置通信编码
mysqli_query($link,"set names utf8");
//3.准备SQL语句
$sql = "select goods.*,cat.id as catid,cat.cat_name from goods left join cat on goods.cat_id=cat.id order by goods.id desc limit {$offset},{$pageSize};";
//4.发送SQL语句
$res = mysqli_query($link,$sql);
//5.解析结果集
$rows = array();
while($row = mysqli_fetch_assoc($res)){
	$rows[] = $row;
}
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<a href="add.php">添加商品</a>
	<table border="1" width="800">
		<tr>
			<th>序号</th>
			<th>商品名称</th>
			<th>商品分类</th>
			<th>商品品牌</th>
			<th>商品编号</th>
			<th>商品数量</th>
			<th>商品价格</th>
			<th>浏览量</th>
			<th>操作</th>
		</tr>
		<?php foreach($rows as $key=>$value):?>
		<tr>
			<td><?php echo $value['id'];?></td>
			<td><?php echo $value['goods_name'];?></td>
			<td><?php echo $value['cat_name'];?></td>
			<td><?php echo $value['brand_id'];?></td>
			<td><?php echo $value['goods_sn'];?></td>
			<td><?php echo $value['goods_number'];?></td>
			<td><?php echo $value['shop_price'];?></td>
			<td><?php echo $value['click_count'];?></td>
			<td>
				<a href="#">修改</a>
				<a href="delete_data.php?id=<?php echo $value['id'];?>">删除</a>
			</td>
		</tr>
		<?php endforeach;?>
		<tr>
			<td colspan="9">
				<a href="06.data.php?page=1">首页</a>
				<a href="06.data.php?page=<?php echo $page == 1 ? $page : $page-1;?>">上一页</a>
				<a href="06.data.php?page=<?php echo $page == $max_page ? $max_page : $page+1;?>">下一页</a>
				<a href="06.data.php?page=<?php echo $max_page;?>">末页</a>
			</td>
		</tr>
	</table>
</body>
</html>

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值