PHP与MySQL数据库——连接数据、插入数据、删除数据、返回结果集

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文章介绍了PHP连接MySQL数据库实现插入数据、删除数据、返回结果集的操作

PHP操作MySQL数据库原理

从根本上来说,PHP是通过预先写好的一系列函数来与MySQL数据库进行通信,向数据库发送指令、接收返回数据等都是通过函数来完成。

image.gif

连接数据mysqli_connect()函数

使用PHP连接MySQL数据库,首先要让PHP程序连接MySQL服务器,再选择一个数据库,然后向MySQL数据库管理系统发送sql语句。

image.gif

连接数据库 MySQLi扩展为PHP与数据库的连接提供了mysqli_connect()函数,其声明方式如下。

mysqli mysqli_connect(
  string $host=ini_get(‘mysqli,default_host’),        //主机名或者IP
  string $username=ini_get(‘mysqli.default_user’),    //用户名
  string $passwd=ini_get(‘mysqli.default_pw`’),       //密码
string $dbname=‘’,                                  //数据库名
  int $port=ini_get(‘mysqli.default_port`’),          //端口号
  string $socket=ini_get(‘mysqli.default_socket`’)    //socket通信
)

image.gif

测试代码如下

<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/><?php//连接数据库$link=mysqli_connect('localhost','root','','ghw','3306');    
//数据库名字为ghw//查看连接数据库是否正确if($link){
echo"连接数据库成功";
}
else{
echo"连接数据库失败";
}
?>

image.gif

运行

image.gif

表的结构

image.gif

插入数据/删除数据

 选择数据库:mysqli_select_db(数据库名字);

 设置字符集:mysqli_set_charset('utf8');   mysqli_set_charset('utf8');

 发送sql语句:mysqli_query(sql语句);

测试代码如下

<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/><?php//连接数据库$conn=mysqli_connect('localhost','root','','ghw','3306'); 
$sql="insert into student values('12','eren','男','21','软件技术')";
mysqli_select_db($conn,'ghw');
mysqli_set_charset($conn,'utf8');
$insert=mysqli_query($conn,$sql);
if($insert){
echo'成功插入数据';
}
else{
echo'插入数据失败';
}
?>

image.gif

运行

image.gif

查看 phpmyadmin (表中已有一些数据)

image.gif

删除数据只要把$sql换成删除的sql语句即可

$sql="“delete from `student` where `student`.`s_id` = 12”;

image.gif

返回结果集

由于函数mysqli_query()在执行SELECT、SHOW、EXPLAIN或DESCRIBE的SQL语句后,返回的是一个资源类型的结果集,因此,需要使用函数从结果集中获取信息。

函数名

描述

mysqli_num_rows()

获取结果中的行的数量

mysqli_fetch_all()

获取所有的结果,并以数组方式放回

mysqli_fetch_array()

获取一行结果,并以数组方式返回

mysqli_fetch_assoc()

获取一行结果并以关联数组返回

mysqli_fetch_row()

获取一行结果并以索引数组返回

测试代码如下

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Document</title></head><style>body{
height: 32rem;
background: linear-gradient(tobottom, #84d6f730%30%, #b2eea5);
    }
table{
margin-top: 16rem;
font-weight: bold;
    }
trtd{
font-weight: bold;
    }
</style><body><?php$conn = mysqli_connect('localhost','root', '');mysqli_select_db($conn,'ghw');// mysqli_query("set s_name utf8"); //设置字符集为utf8mysqli_set_charset($conn,'utf8');$sql = "select * from student";$result = mysqli_query($conn, $sql);?><tablewidth="400"border="3"align="center"cellpadding="0"><tr><tdheight="30"align="center">学号</td><tdheight="30"align="center">姓名</td><tdheight="30"align="center">性别</td><tdheight="30"align="center">年龄</td><tdheight="30"align="center">专业</td></tr><?php$row = mysqli_fetch_row($result);while ($row) {?><tr><tdheight="30"align="center"><?phpecho $row[0]; ?></td><tdheight="30"align="center"><?phpecho $row[1]; ?></td><tdheight="30"align="center"><?phpecho $row[2]; ?></td><tdheight="30"align="center"><?phpecho $row[3]; ?></td><tdheight="30"align="center"><?phpecho $row[4]; ?><ltd></tr><?php$row = mysqli_fetch_row($result);}?></table></body>


运行

image.gif

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
111 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
6天前
|
缓存 NoSQL 关系型数据库
Redis和Mysql如何保证数据⼀致?
在项目中,为了解决Redis与Mysql的数据一致性问题,我们采用了多种策略:对于低一致性要求的数据,不做特别处理;时效性数据通过设置缓存过期时间来减少不一致风险;高一致性但时效性要求不高的数据,利用MQ异步同步确保最终一致性;而对一致性和时效性都有高要求的数据,则采用分布式事务(如Seata TCC模式)来保障。
39 14
|
9天前
|
SQL 前端开发 关系型数据库
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
39 9
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
19 1
|
11天前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
12天前
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
本文深入探讨了PHP与MySQL在动态网站开发中的应用实践,通过具体案例解析如何高效结合这两大技术构建数据驱动的Web应用。文章将涵盖环境搭建、基础语法回顾、数据库设计与操作、用户注册与登录系统实现等关键步骤,旨在为开发者提供一个从零到一的项目实战路径,展示PHP与MySQL协同工作的强大能力。 ####
|
14天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
分布式计算 关系型数据库 MySQL
E-Mapreduce如何处理RDS的数据
目前网站的一些业务数据存在了数据库中,这些数据往往需要做进一步的分析,如:需要跟一些日志数据关联分析,或者需要进行一些如机器学习的分析。在阿里云上,目前E-Mapreduce可以满足这类进一步分析的需求。
4971 0
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
22 4
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
76 1