三分钟掌握PHP操作数据库

这里写自定义目录标题

      • 一、 操作数据库(mysql)的工具
        • 1.1命令行工具
        • 1.2navicat界面化工具
        • 1.3phpAdmin界面化工具
      • 二、 表单传值
        • 2.1文本框和文本域传值
        • 2.2单选框传值
        • 2.4下拉菜单传值
      • 三、 php连接数据库
        • 3.1连接方式介绍
        • 3.2mysqli基础步骤
          • 3.2.1创建连接
          • 3.2.2选择数据库
          • 3.2.3设置编码
          • 3.2.4执行sql语句(增删改查)
          • 3.2.5关闭连接
        • 3.3mysqli实操
          • 3.3.1执行增加操作
          • 3.3.2执行删除操作
          • 3.3.3执行更新操作
          • 3.3.4执行查询操作
      • 四、 实际案例
        • 4.1注册
        • 4.2登录案例

一、 操作数据库(mysql)的工具

1.1命令行工具

1.2navicat界面化工具

1.3phpAdmin界面化工具

一般情况下安装phpstudy的集成环境的时候自带的,目录在你的安装目录的www目录下面
在这里插入图片描述

然后在浏览器地址栏输入如下:
在这里插入图片描述

里面功能自己简单操作一下即可。
如果你的www目录下面没有phpadmin,然后自己下载一下
https://www.phpmyadmin.net/downloads/
在这里插入图片描述

下载以后解压缩放到www下面即可。

二、 表单传值

2.1文本框和文本域传值

前台:
在这里插入图片描述

后台:
在这里插入图片描述

注意:如果是post发送数据,后台也得用$_POST接收,post发送数据量相对比较大,比较安全。

如果是get方式发送数据
在这里插入图片描述

后台也得用$_GET[‘name名’],而且get发送数据会在地址栏里显示出来,不太安全,还有数量限制。
在这里插入图片描述

2.2单选框传值

在这里插入图片描述

后台这样接收
在这里插入图片描述

2.3多选框传值
前台:
在这里插入图片描述

后台:
在这里插入图片描述

2.4下拉菜单传值

在这里插入图片描述

后台接收:
在这里插入图片描述

三、 php连接数据库

3.1连接方式介绍

https://www.php.cn/php/php-mysql-connect.html

php连接数据库主要有下面几种方式:
1、 mysql 库 这个已经废弃 不支持面向对象
2、 mysqli 扩展 是上面的升级,支持面向对象,只能连接mysql
3、 PDO也支持面向对象,能连接多种数据库。
以后操作的时候根据实际情况选择。

3.2mysqli基础步骤

在使用mysqli之前先确认一下自己的是不是支持mysqi扩展,随便写一个php文件,里面输入
phpinfo();
在这里插入图片描述

然后浏览器访问这个php文件,按住ctrl+f出现搜索框以后输入mysqli,看是否支持。
在这里插入图片描述

3.2.1创建连接

$con=mysqli_connect(‘数据库所在服务器地址’,’用户名’,’密码’);
返回的是一个连接对象

3.2.2选择数据库

mysqli_select_db($con,’连接的数据库名’);

3.2.3设置编码

mysqli_set_charset($con,’utf8’);

3.2.4执行sql语句(增删改查)

先写sql语句
$sql=”增删改查的语句”;
执行语句:
res=mysqliquery(res=mysqli_query(res=mysqliquery(con,$sql);

3.2.5关闭连接

mysqli_close($con);

3.3mysqli实操

3.3.1执行增加操作

在这里插入图片描述

3.3.2执行删除操作

在这里插入图片描述

3.3.3执行更新操作

在这里插入图片描述

3.3.4执行查询操作

(1)mysqli_fetch_assoc()
这种方法是从资源中获取一行数据的方法,返回值是一个由字段名和每行的值组成关联数组
在这里插入图片描述

浏览器访问如下:
在这里插入图片描述

我们最好使用循环的方式来获取数据,如下:
在这里插入图片描述

备注:
mysqli_fetch_assoc(获取的资源)拿到的是一个关联数组,而且每调用一次是获取一行的数据。

(2)mysqli_fetch_row
mysqli_fetch_row()这个方法获取的也是数组,但是是索引数组
在这里插入图片描述

(3)mysqli_fetch_array
mysqli_fetch_array 这个方法返回如下:
在这里插入图片描述

既有关联数组又有索引数组,我们用哪种方式获取都可以。还是获取的一行的数据。
在这里插入图片描述

这种方式用关联数组或者索引数组的方式都能获取。

(4)三种方式比较

mysqli_fetch_assoc()获取的是关联数组
mysqli_fetch_row()获取的是索引数组。
mysqli_fetch_array()返回的既有关联数组又有索引数组,但是效率低点。如果我想提高第三种方式的效率,可以添加第二个参数。
mysqli_fetch_array($res,MYSQLI_ASSOC)获取的就是关联数组
mysqli_fetch_array($res,MYSQLI_NUM)获取的就是索引数组

四、 实际案例

4.1注册

注册就是点击注册按钮的时候把用户在输入框里输入的内容保存到数据表中
在这里插入图片描述

登录的时候再连接数据表进行查询,看这次用户在输入框中输入的用户名或者密码等是否在数据表中存在,正确他注册过,就让他登录成功,否则报用户名或者密码错误。

我们先实现注册页面:
在这里插入图片描述

实现php接收数据并插入数据表的逻辑
在这里插入图片描述

4.2登录案例

先实现登录页:
在这里插入图片描述

实现接收用户输入的数据从数据表进行查询和比对
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言之进阶篇主协程先退出导致子协程没来得及调用

1、主协程先退出导致子协程没来得及调用 示例: package mainimport ("fmt""time" )//主协程退出了,其它子协程也要跟着退出 func main() {go func() {i : 0for {ifmt.Println("子协程 i ", i)time.Sleep(time.Second)}}(…

Actor模型(分布式编程)

Actor的目的是为了解决分布式编程中的一系列问题。所有消息都是异步交付的,因此将消息发送方与接收方分开,正是由于这种分离,导致actor系统具有内在的并发性:可以不受限制地并行执行任何拥有输入消息的 actor。用Actor写的程序可以…

看完就会的文件编程

文章目录文件编程1.1文件操作函数1.1.1file()函数1.1.2fopen fgets fclose1.2.1读取模式1.2.2写入内容(开头)1.2.3写入内容(追加)1.1.3file_get_contents1.1.4文件路径相关函数1.1.5file_exists1.1.6feof1.1.7copy()1.1.8set_incl…

Redis主从同步

主从同步原理 1. 从服务器向主服务器发送 SYNC 命令。2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下来执行的所有写命令。3. 当主服务器执行完 BGSAVE 命令时,它会向从服务器发送 RDB 文件&#xff…

BigDecimal转String,int,double及简单操作运算、方法

---恢复内容开始---1.字符型数据:char\varchar\text这几种数据类型都是用来装字符串的char 固定长度存储数据varcahr 按变长存储数据text 当你需要存储非常大量的字符串时使用nchar、nvarchar、ntext这几个也是存储字符串的,与上面的对应相同。唯一不同的…

一文吃透PHP和HTML的嵌套写法

1.1全部php生成结构 1.2html中嵌套php 总结如下&#xff1a; html和php混写规则&#xff1a; php代码必须包在<?php ?>html中写php也是同理&#xff0c;但是有值输出必须加上echo 1.3博客项目 1.3.1前后台 前台主要是做数据展示的&#xff0c;所有的用户通过访问域…

hello.cpp 第一个C++程序(本博客没有特指都是以QT测试)

操作步骤&#xff1a;1.文件->新建文件或项目(N)->New File or Project->Qt Console Application->Choose->“名称”中输入工程名称->“创建路径”中输入保存位置->下一步->选择“工具包”->下一步->完成。 1.新标准 1 #include <iostream>…

一文看懂 GD2库

文章目录一、 GD2简介1、 验证码&#xff08;实际上是一个img&#xff09;二、 GD2库使用步骤2.1添加扩展2.2修改php配置文件2.3重启服务三、 GD2里面的常用方法3.1 imagecreate3.2 imagecolorallocate3.3 imagefill3.4 输出图像资源3.5创建真彩画布3.6在图像中写文字3.6.1imag…

算法实践--最小生成树(Kruskal算法)

什么是最小生成树(Minimum Spanning Tree) 每两个端点之间的边都有一个权重值&#xff0c;最小生成树是这些边的一个子集。这些边可以将所有端点连到一起&#xff0c;且总的权重最小 下图所示的例子&#xff0c;最小生成树是{cf, fa, ab} 3条边 Kruskal算法 用到上一篇中介绍的…

洽谈 “会话技术” 纯干货赶紧收藏吧

文章目录一、 HTTP协议二、 会话三、 cookie3.1概念和设置cookie3.2读取cookie3.3设置cookie有效期3.4cookie是跨页面的3.5删除cookie3.6登录案例3.7cookie特点四、 session4.1概念4.2设置session4.3获取session4.4清除session4.5模拟购物车案例一、 HTTP协议 HTTP协议是Hyper…

[bzoj2729][HNOI2012]排队 题解 (排列组合 高精)

Description 某中学有 n 名男同学&#xff0c;m 名女同学和两名老师要排队参加体检。他们排成一条直线&#xff0c;并且任意两名女同学不能相邻&#xff0c;两名老师也不能相邻&#xff0c;那么一共有多少种排法呢&#xff1f;&#xff08;注意&#xff1a;任意两个人都是不同的…

详解 正则表达式

文章目录一、概念二、作用三、语法规则3.1定义规则3.2符号简介3.3preg_match用法详解3.4详解元字符3.4.1 \d和[0-9]3.4.2 \D和[^0-9]3.4.3^和$3.4.4*代表出现0次或者多次3.4.5代表出现1次或者多次3.4.5&#xff1f;代表出现0次或者1次3.4.6{n}3.4.7{n,}3.4.8{n,m}3.4.9点号&…

Java:控制台输入车辆信息,将信息保存至数据库中

程序功能&#xff1a;控制台输入车辆信息&#xff0c;将信息保存至数据库中 程序代码如下&#xff1a; BaseDao.java package DAO_dome.kehozuoye; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;i…

echars 3D地图为区域自定义颜色

echars 3D地图为区域自定义颜色问题延伸解决问题问题 根据项目需求&#xff0c;我们要将下面省级地图中的个别市进行高亮&#xff08;不同颜色&#xff09;展示 延伸 首先跟大家介绍这个地图的展示方式&#xff1a; 采用的是Vue框架中运用echarts地图采用的是geo3D和scatt…

linux每日命令(31):tar命令

阅读目录(Content) 一&#xff0e;命令格式二. 命令功能三. 命令参数必要参数选择参数四. 常见解压、压缩命令tar.gz.tar.gz 和 .tgz.bz2.tar.bz2.bz.tar.bz.Z.tar.Z.zip.rar五. 使用实例1&#xff1a;将文件全部打包成tar包2&#xff1a;查阅上述 tar包内有哪些文件3&#xff…

一文带你吃透BFC

文章目录面试高出场率什么是BFC触发BFC的条件BFC的约束规则BFC可以解决的问题面试高出场率 在前端的面试中&#xff0c;经常会遇到BFC的问题&#xff0c;比如&#xff1a;说说你对BFC的理解、你在项目中运用到的BFC、BFC是什么、BFC的作用是什么。。。。 很多同学很懵逼&…

基于Python语言使用RabbitMQ消息队列(一)

介绍 RabbitMQ 是一个消息中间人&#xff08;broker&#xff09;: 它接收并且发送消息. 你可以把它想象成一个邮局: 当你把想要寄出的信放到邮筒里时, 你可以确定邮递员会把信件送到收信人那里. 在这个比喻中, RabbitMQ 就是一个邮筒, 同时也是邮局和邮递员 . 和邮局的主要不同…

爆赞程序猿开发软件

VSCode 使用 IntelliSense 超越语法突出显示和自动完成&#xff0c;它提供基于变量类型、函数定义和导入模块的智能完成 直接从编辑器调试代码。启动或附加到您正在运行的应用程序并使用断点、调用堆栈和交互式控制台进行调试 与 Git 和其他 SCM 提供商合作从未如此简单。查…

如果你在北京失业了,别怕,记得去领这笔钱!最少2034元/月!

人在江湖飘&#xff0c;哪能不挨刀 公司倒闭&#xff0c;老板走人&#xff0c;公司裁人 …… 就要被迫失业了 别怕! 如果你在北京失业了 记得去领这笔钱——失业保险金 每月最多有2143元 虽然钱不多&#xff0c;但能解燃眉之急 帮助你度过困难日子 重点全程网上就能…

真实诠释程序员日常的二十四张图【你中了几个】

当你打开遗留代码时 扒下来项目后改了一行代码…… 程序员调试css样式的时候 当你的try catch 不起作用 产品经理对你说要兼容IE 没有ui给你提供大小设计的结果 没吃透需求直接开发的你 程序员修复bug的真实处境 当你开始使用库&#xff0c;但忘记阅读文档 产品经理告诉你这只是…