面向过程PHP操作mysql数据库

项目需求分析:

新闻管理系统

  1. 管理员登录
  2. 一般后台是不允许注册的(为了实现功能做一个注册功能);
  3. 登录成功以后执行增删改查
  1. 先执行查询,将所有的数据查询出来
  2. 执行增删改

 

 

 

开始开发:

  1. 创建项目的数据库:news
  2. 登录和注册功能首先要有用户表;

 

 

登录功能:

前端页面

公共的链接数据库的php文件让其他文件执行加载:

链接数据库函数:$link = mysqli_connect(IP地址,账号,密码);

设置字符集:mysqli_query($link,”sql语句”);

选择数据库:mysqli_select_db($link,”数据库名”);

获取表单数据,执行验证

$obj = mysqli_query($link,”sql语句”);

从结果集中取出一行数据:

mysqli_fetch_assoc($obj)  // 从结果集中取得一行作为关联数组返回

如果满足条件返回数组,如果不满足,返回空;

 

 

 

 

  1. Php操作数据库
  1. 链接数据库

$link = Mysqli_connect(“主机号/ip地址”,“账号”,“密码”);

返回的是对象形式的数据

  1. 选择数据库

$row = Mysqli_select_db($link,”数据库名”)

返回布尔值

  1. 设置字符集

$obj = Mysqli_qurey($link,”要执行的sql语句”)

执行增删改等数据库操作返回布尔值,,执行查询返回对象

  1. 登录注册功能

登录功能其实本质:查询的sql(将用户填写的数据和数据库的数据进行对比)——》select * from 表名 where user=$user and pass=$pass;

注册的原理:添加的sql语句(将用户填写的数据添加到数据)->

Insert into 表名 set 字段名=字段值。。。;

  1. 登录成功执行查询

原理就是查询整个数据表

  1. 链接数据库
  2. 执行查询
  3. 将查询完的对象转化为数组$arr = mysqli_fetch_assoc($obj);返回的数一维数组

返回的只有第一条数据

想要查询出所有要执行循环取出所有行数据

将数据写入表格使用foreach循环

 

 

 

执行增删改操作

  1. 删除要传对当前的id -》后台执行原理delete from n_news where id = $id;
  2. 获取将要删除数据的id
  3. 拼装删除的sql语句
  4. 执行删除返回布尔值执行判断

 

链接数据库的函数:$link = mysqli_connect(“主机号”,“账号”,“密码”);

设置字符集:mysqli_query($link,”set names utf8”);

选择数据库:mysqli_select_db($link,”数据库名”);

执行sql的函数:$obj = mysqli_query($link,”sql语句”);

增删改和普通sql执行完后返回:布尔值,查询执行完返回:对象

将对象转化为数组:mysqli_fetch_assoc($obj);执行过程类似于each()函数没执行一次指针向后移动一位

 

 

 

 

执行添加

  1. 创建添加的页面:

点击添加到后台执行增加的sql操作

修改:

修改的本质是:update 表名 set 字段名=字段值。。。。Where id=$id;

要执行修改首先要执行一条查询,查询信息就是前台传递来的id

当执行修改时要传id如果不想让id 在地址栏显示可以写一个隐藏域

 

  1. 分页

$page = $_GET[p];

$pagesize = 5;

$start = ($page-1)*$pagesize;

原理:select * from 表名 limit $start,$pagesize;

查询数据库里有用多少条数据使用

页码逻辑判断

分页前端部分代码

 

 

猜你喜欢

转载自blog.csdn.net/weixin_42139535/article/details/84403142
今日推荐