Mysql扩展
PHP针对MySQL数据库操作提供的扩展:允许PHP当做MySQL的一个客户端连接服务器进行操作。
连库基本操作
连接数据库服务器
1)资源 mysql_connect(服务器地址,用户名,密码)


连接资源默认也是超全局的,任何地方都可以使用该资源进行数据库的其他操作

补充:mysql_connect默认是对一个服务器只连接一次(如果再次运行,返回的是同一个资源),但是如果有需要连接同一个资源两次,那么可以使用第四个参数:TRUE

设置连接编码
保持客户端与服务器之间的沟通顺畅:同一“语言”(字符集)
1)形式1:mysql_query(“set names XXX”)

2)形式2:mysql_set_charset(“XXX”)

3)怎么确定要使用何种编码
客户端当前执行脚本的界面是什么字符集,就设定成什么字符集
选定要使用的数据库
1)形式1:mysql_query(“use XXX”)
2)形式2:mysql_select_db(“XXX”)

关闭连接
主动释放连接:MySQL服务器的连接资源是有限的,不用了需要释放(脚本执行结束系统也会自动释放)
1)mysql_close()

执行增删改操作
Mysql_query函数执行结果返回的是true或者false,true代表执行成功,false代表执行失败:失败原因分两种:一种是SQL指令本身语法错误;第二种是执行失败;

做个专门负责数据库初始化的脚本:之后要操作数据库包含该脚本即可

1)mysql_query(“insert …”):通过insert指令向指定表插入对应的数据

2)mysql_query(“delete …”):根据删除指令操作数据库(表)

3)mysql_query(“update …”):根据更新指令操作数据库

判断执行结果
1)执行成功,结果为true,只代表SQL指令执行成功
2)执行失败,结果为false,代表SQL指令错误或者操作对象不存在

执行查询操作
执行查询语句
1)mysql_query(“select …”)
2)其他类似查询语句,比如:show语句,desc语句
以上两种情况的总结:凡是执行操作希望拿到数据库返回的数据进行展示的(结果返回:数据结果)
3)执行结果的处理:成功为结果集,失败为false
成功返回结果:SQL指令没有错误,但是如果查询结果本身为空返回也是true(结果集是一种资源:转换成bool永远为TRUE)

失败为false:SQL指令有错误

获取结果集行数
1)mysql_num_rows():获取结果集中到底有多少行记录

解析结果集
将一种结果集资源(PHP不能直接使用),转换成一种PHP能够解析的数据格式:通过从结果集中(结果集指针:类似数组指针),按照结果集指针所在位置取出对应的一条记录(一行),返回一个数组,同时指针下移…直到指针移出结果集。
1)mysql_fetch_assoc():获取关联数组,表的表单名字作为数组下标,元素值作为数组元素值

2)mysql_fetch_row():获取索引数组,只获取数据的值,然后数组的下标从0开始自动索引

3)mysql_fetch_array():获取关联或者索引数组,但是默认是同时存在:一个记录取两次,形成一组是关联数组,一组是索引数组;但是可以通过第二个参数来决定获取的方式:MYSQL_ASSOC只获取关联数组;MYSQL_NUM只获取索引数组;MYSQL_BOTH获取全部两种。

通常结果集的操作:一般是获取里面的所有(全部记录)

其他相关函数
有关字段信息
1)mysql_num_fields():获取一个指定结果集中所有的字段数

2)mysql_field_name():获取一个指定结果集中指定位置字段的名字

有关出错信息
1)mysql_error():获取出错对应的提示信息
2)mysql_errno():获取出错对应的错误提示代号

错误的判断:基于Mysql_query这个函数执行的结果:结果返回false就代表执行错误。

其他函数
1)mysql_insert_id():获取上次插入操作所产生的自增长ID,如果没有自增长ID返回0

Mysql扩展应用案例
添加新闻表单

1) 用户获取到一个可以添加新闻表单的HTML文件

修改表单项:method提交对象

2) 用户提交数据到后台指定的PHP脚本(POST)

3) 后台脚本处理数据,插入到数据库:处理指PHP在拿到数据放入数据库之前要做很多验证工作保证数据是有效的。
3.1 接收数据

3,2 数据验证:合法性验证。标题不能为空,内容不能为空

3.3 提示用户,同时让用户重新再来(回到新增表单页面)

3.4 数据入库

4) 提示用户操作结果,并跳转到列表页(跳转到详情页)

Mysql扩展应用案例
显示新闻列表

将数据库中所有的新闻信息获取出来,然后讨要HTML提供的显示模板把数据全部按照指定的位置和格式输出显示。

1、 从数据库获取所有的新闻数据:PHP脚本

从结果集中取出所有的记录:一次取一条,一条一个数组;然后将所有的记录放到一个数组中:形成一个典型的二维数组


2、 有一个已经做好的HTML模板能够显示数据:前端

3、 PHP想办法将数据在HTML中显示(二者结合):PHP包含HTML

注意细节:
1、 数据的显示要通过循环遍历输出:需要明确PHP是如何保存数据
2、 数据的格式需要按照需求来显示:列表、时间、是否置顶
Mysql扩展应用案例
删除新闻

删除新闻就是通过用户选中某一个新闻点击删除实现从数据库剔除。

1、 让用户看到所有的新闻:已经完成(新闻显示列表:news.phpnews.html)
2、 给用户提供一个对应的点击按钮:已经存在
3、 实现点击针对指定的新闻

4、 有一个专门的PHP脚本负责响应用户的点击:点哪条删哪条
4.1 接收要删除的新闻ID

4.2 调用数据库操作删除数据

4.3 提示删除成功,并且刷新当前界面

Mysql扩展应用案例
修改新闻

修改新闻指用户通过某个取到看到想修改的新闻,然后点击之后能够修改对应的新闻信息,最后点击保存实现修改更新到数据库。

1、 需要看到想编辑新闻:已经完成:新闻列表news.phpnews.html
2、 可以点击实现查看:列表页中为每个新闻增加点击链接

3、 需要一个PHP脚本能够处理这件事
3.1 创建PHP文件,同时接受要编辑的ID

3.2 通过ID获取对应的新闻信息

4、 需要一个HTML模板来展示当前要编辑的数据:PHP包含HTML
4.1 包含模板HTML

4.2 在模板表单中显示对应的数据

5、 需要修改前端提供的更新表单:表单提交对象(不限)
5.1 需要修改表单提交对象

5.2 更新操作,是后台根据表单提交的数据来选择某个新闻进行更新:表单中必须包含一个唯一能确定记录的新闻:ID,而ID不需要给用户看,需要增加隐藏表单

6、 需要一个PHP脚本能够接受修改后的数据并保存到数据库
6.1 增加更新数据的PHP脚本

6.2 接收用户提交的数据,同时进行数据验证:标题和内容均不能为空

6.3 组织SQL更新到数据库

6.4 提示结果

二、PHP基础——连接msql数据库进行增删改查操作 实战:新闻管理项目相关推荐

  1. wps连接mysql数据库增删改查_python 连接mysql数据库 进行增删改查操作

    1.在进行连接之前我们要确定我们已经安装了python和mysql(开玩笑,没有这个你怎么连接那)至于安装的过程在此略过, 2.因为要进行连接mysqldb 所有我们要导入MySQLdb的模块,当然这 ...

  2. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  3. C#语言连接Mysql数据库实现增删改查

    C#语言连接Mysql数据库实现增删改查 实现效果如图 在此之前先下载一个mysql.dll 库 如下 链接:https://pan.baidu.com/s/17Nv_1W3KbXfWgdOvWf_S ...

  4. 【接口测试】Day5-使用pymysql库对mysql数据库进行增删改查操作

    目录 今日目标 一.数据库介绍 二.数据库基本操作 1.安装 2.操作流程(重点) 1. 创建连接 2. 获取游标 3. 执行sql 4. 关闭游标 5. 关闭连接 3.数据准备 4.数据库基本操作 ...

  5. DAO模式设计-JDBC连接Mysql数据库实现增删改查及JunitTest单元测试

     概念介绍 JDBC JDBC(Java数据库连接,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC ...

  6. 欢迎来到Jsp编程课时十二——今天实现的目标是。@1将数据库的数据发送到浏览器。@2利用浏览器实现对数据库的增删改查操作。@3理解MVC三层架构的定义。

    完成项目会有以下的效果. JSP第二十课:Mvc+Mysql+Servlect+Jsp实现在浏览器上对数据库的增删改查. MVC全名是Model View Controller, 是 @@1模型(mo ...

  7. php修改数据库字段内容,php对数据库的增删改查操作

    在我看来数据库是个既复杂又高深莫测的东西,但百分之八十左右的程序员都不需要去精通他,对于我们前端开发来说,只要会数据库的增删改查语句就差不多了.首先我们来说说sql的增删改查语句. 一.增删改查 插入 ...

  8. JDBC-03:PreparedStatement如何实现对数据库的增删改查操作

    文章目录 一.使用PreparedStatement实现CRUD操作 (1)使用PreparedStatement实现增删改操作 1.PreparedStatement介绍 2.实现数据库的添加操作 ...

  9. JDBC中用控制台简单对数据库进行增删改查操作(IDEA.2023)

    文章目录 前言 一.首先是每个操作共用的操作大纲 1.注册驱动 2.创建连接 3.编写SQL语句结果,动态值的部分使用?代替 4.创建prepareStatement,并且传入SQL语句的结果 5.占 ...

最新文章

  1. 画一个空心圆_用SolidWorks画一个空心挂钩,这种画法稍微有点麻烦
  2. 网页拼图游戏html代码,网页设计(一):拼图游戏
  3. mysql 给字段添加索引_怎么给mysql表的字段添加索引和查询索引呢
  4. 学习笔记之与 30 家公司过招,得到了这章面试心法
  5. ubuntu/deepin 禁用IPV6
  6. 学习SpringMVC笔记——Intellij IDEA创建SpringMVC项目
  7. OpenCV调用YOLOv4进行目标检测
  8. MONO,原来你是水中月
  9. mysql忘记密码怎末版_mysql忘记密码怎么办
  10. 曾有望成为第三大移动系统:如今正式告别,明日停止一切支持
  11. PostgreSQL 11 preview - Faster partition pruning
  12. 日照分析的计算机精度,日照分析计算精度(时间间隔)的粗探
  13. 区块链在保险业的应用
  14. 关于Class mocking requires to have Objenesis library in the classpath异常的处理
  15. 重磅 | Hadoop的第二个十年
  16. PHP前一页 后一页 切换
  17. HTML5+CSS3小实例:流星划过天际的动画效果
  18. 最大似然估计(Maximum Likehood Estimation,MLE)和最大后验估计(Maximum A Posteriori estimation, MAP)
  19. 如何快速传输大文件,介绍大文件快速方法
  20. 第三人称计算机获奖感言,求一篇获奖感言,加分到300

热门文章

  1. php中取出数组中指定的值,PHP除开数组中指定的值
  2. oracle 存long,ORACLE中LONG类型字段的存取
  3. 文本分析软件_十大针对机器学习的文本注释工具与服务,你选哪个?
  4. MATLAB中MEX文件的编写与调试
  5. php mysql xa事务_XA mysql php 分布式事务
  6. c语言结构体中整形数组初始化,c – 将{0,0}在结构体中初始化数组?
  7. mysql的char和varchar_MySQL的char和varchar
  8. 添加WCF服务引用失败解决办法
  9. luogu3830 [SHOI2012]随机树
  10. DataGridView带图标的单元格实现