三分钟掌握PHP操作数据库
作者:几何心凉 发布时间:2023-06-01 01:15:43
一、 操作数据库(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(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登录案例
先实现登录页:
实现接收用户输入的数据从数据表进行查询和比对
来源:https://blog.csdn.net/JHXL_/article/details/118668095


猜你喜欢
- java.util.regex类支持用正则表达式来匹配和提取字符串,读者可以去官网查看java.util.regex的详细使用方法。首先给出
- 一.条件语句条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立。程序根据判断结果,执行不同的操作,这样就可以改变代码的执行顺
- 关于 *args与**args的用法*args 和 **kwargs主要用于函数定义,你可以将不定数量的参数传递给某个函数。*args*ar
- reduce总的来说用的不多,但最近看一些文章上的reduce的用法真的是骚气,其实reduce跟常用的map,forEach一样,也是用于
- <form name="form5" id="form5" me
- 最近在处理文本文件时,遇到编码格式和换行符的问题。基本上都是GBK 和 UTF-8 编码的文本文件,但是python3 中默认的都是按照 u
- 在实际开发中,无论是做PC端、WebApp端还是微信公众号等类型的项目的时候,或多或少都会涉及到微信相关的开发,最近公司项目要求实现微信网页
- 在刚进公司的时候,要写一个需求,使用django的admin站点管理,实现一个二级联动的功能,因为要用到django自带的页面,因为不是自定
- 只能是一些限定的东西运行代码框ENTER键可以让光标移到下一个输入框 <input onkeydown="if(event.
- 形式pandas.Series(data=None, index=None, dtype=None,&nbs
- 解决问题: 不使用for计算两组、多个矩形两两间的iou使用numpy广播的方法,在python程序中并不建议使用for语句,python中
- 1.认证与授权1.验证:身份验证是验证个人或设备标识的过程。身份验证过程之一是登录过程。注册网站后,您的信息(ID,密码,名称,电子邮件等)
- 一 pandas DataFrame一列赋值问题说明,把b的列赋值给a情况1:a,b index设置相同如下代码import pandas
- 在实际的工作中,尤其是在生产环境里边,SQL语句的优化问题十分的重要,它对数据库的性能的提升也起着显著的作用.我们总是在抱怨机器的性能问题,
- 递归是以相似的方式重复项目的过程。同样适用于编程语言中,如果一个程序可以让你调用同一个函数被调用的函数,递归调用函数内使用如下。func r
- 总体跟官方样例相似,但是官方样例因为部分代码有误无法运行,同时需要了解json,以及前后端知识需要一些时间,因此供大家参考。这个是views
- 由于谷歌浏览器80以后版本采用了新的加密方式,所以记录在这里# -*- coding:utf-8 -*-import osimport js
- 在生活和工作中,我们每个人每天都在和时间打交道:早上什么时候起床?地铁几分钟来一趟?中午什么时候开始午休?明天是星期几?距离上次买衣服已经2
- ORM模型:ORM模型对于后端开发来说肯定是不陌生的,包括很多后端框架比如django,现在都自带这个模型了ORM(Object Relat
- 一、查询SQL Server中所有的表SQL语句:SELECT * FROM sys.tablesname列表示所有的表名。二、查询SQL