数据库

1 进行数据库操作的步骤

  1. 连接数据库 mysqli_connect
  2. 选择数据库 mysqli_select_db
  3. 设置文件编码 mysqli_query("set name utf-8")
  4. 发送数据库操作指令 比如查询 mysql_query("select * from user");
  5. 接收返回结果 这个很多,自己查手册
  6. 释放资源,关闭数据库 mysqli_free_result() mysql_close();

2 数据库的连接

这里特别要注意的是PHP7.0已经不支持mysql_connect()函数了,取而代之的是mysqli_connect 或者是PDO

$link = mysqli_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');
mysqli_select_db('code1');
mysqli_query("set names 'utf8'");
$result = mysqli_query('select * from user limit 1');
$row = mysqli_fetch_assoc($result);
print_r($row);

对应的mysql连接操作是

mysql -h localhost -u code1 -p


3 选择数据库

当连接成功以后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。

mysqli_select_db('code1');

通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。

mysqli_query("set names 'utf8'");


4 执行查询指令

先执行mysqli_query函数来发送查询语句

然后执行mysqli_fetch_arry函数来取回查询数据

$res = mysqli_query('select * from user limit 1');
$row = mysqli_fetch_array($res);
var_dump($row);

5 插入新的数据

插入数据是用mysqli_query来执行mysql的插入语句,在mysql中,执行插入语句以后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。

$name = '李四';
$age = 18;
$class = '高三一班';
$sql = "insert into user(name, age, class) values('$name', '$age', '$class')";
mysql_query($sql); //执行插入语句
$uid = mysql_insert_id();
echo $uid;

6 取回数据

取回数据最常用的是mysqli_fetch_array(取回数据一般都是取回一行数据)

mysqli_fetch_row来获取数字索引数组

mysqli_fetch_assoc来获取关联索引数组

$row = mysql_fetch_row($result);
$row = mysql_fetch_array($result, MYSQL_NUM); //这两个方法获取的数据是一样的
$row = mysql_fetch_assoc($result);
$row = mysql_fetch_array($result, MYSQL_ASSOC);

用循环遍历来获取所有数字

$data = array();
while ($row = mysql_fetch_array($result)) {
$data[] = $row;
}

7 查询分页数据

我们使用分页来显示数据,每页显示10到20条数据

mysql中的limit可以实现分页,limit m,n表示从m行后取n行数据,

假定当前页为$page,每页显示$n条数据,m为当前页前面所有数据,即$m = ($page - 1) * $n

$page = 2;
$pagesize = 2;
//在这里构建分页查询
$offset = ($page - 1) * $pagesize;
$sql = "select * from user limit $offset,$pagesize";
//获取翻页数据
$result = mysql_query($sql);
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
print_r($data);

8 删除与更新操作

这个只需要通过mysql的update和delete来进行操作

更新操作

$sql = "update user set name = '曹操' where id=2 limit 1";
if (mysql_query($sql)) {
echo '更新成功';
}

删除操作

$sql = "delete from user where id=2 limit 1";
if (mysql_query($sql)) {
echo '删除成功';
}

mysql_affected_rows函数来获取更新过的数据行数

echo '数据更新行数:'.mysql_affected_rows();

9 关闭数据库

mysql_close();

或者

$link = mysql_connect($host, $user, $pass);
mysql_close($link);

半吊子菜鸟学Web开发 -- PHP学习5-数据库的更多相关文章

  1. 半吊子菜鸟学Web开发 -- PHP学习 1-基础语法

    1索引数组 $fruit = array("苹果","香蕉","菠萝"): print_r($fruit); 索引数组的初始化,有三种方式: ...

  2. 半吊子菜鸟学Web开发 -- PHP学习 4 --异常

    PHP异常处理 1 抛出一个异常 与Python的try except类似,PHP用try catch来捕获异常 基本语法 try{ //可能出现错误或异常的代码 //catch表示捕获,Except ...

  3. 半吊子菜鸟学Web开发 -- PHP学习3-文件

    目录 1 PHP文件系统 1.1 PHP文件的读取 1.4 获得文件的大小 1.5 PHP写入文件 1.6 删除文件 1 PHP文件系统 1.1 PHP文件的读取 文件读取的函数是file_get_c ...

  4. 半吊子菜鸟学Web开发 -- PHP学习2-正则,cookie和session

    1正则表达式 1.1基本的匹配字符串 $p = '/apple/'; $str = "apple banna"; if (preg_match($p, $str)) { echo ...

  5. 半吊子菜鸟学Web开发1 --配置开发环境

    先说说我自己的情况,我算是一个半吊子菜鸟,对web开发熟练度为0,但是对熟悉C++和Python 所以这里开始记录我学习Web开发的历程,看看我这里学习的程序,能够学到什么地方. 首先是配置环境,我的 ...

  6. 半吊子菜鸟学Web开发6 -- Vscode开发环境配置

    1vscode上手一周不到,终于弄出点门路,终于弄清楚了点vscode的设置是什么样子的了....哭 2就我这两天的使用来看,一般vscode默认只让打开一个文件夹,然后在你打开的文件夹里面自动生成 ...

  7. 半吊子菜鸟学Web开发2 --JavaScript学习1

    JavaScript是一种类C的语言,对于我来说学起来还是蛮轻松的 1 输出 console.log(**); 相当于print console.assert(*);弹窗 2 变量 JS是动态变量 类 ...

  8. 半吊子菜鸟学Web开发4 --Html css学习2

    1<a>标签,链接到另一个页面 <a href="目标网址" title="鼠标滑过显示的文本">链接显示的文本</a> H ...

  9. 半吊子菜鸟学Web开发3 --Html css学习1

    1创建一个html文件,用vscode打开 首先输入一个! 然后就可以开始编辑html文件了 2 整体结构 <!DOCTYPE HTML><html>    <head& ...

随机推荐

  1. 暑假撸系统7- 熊孩子的捣乱!javascript保存前台状态!

    系统大体框架已经搭的差不多了, 往下就是技术性的美化以及修补了,但这也是最最耗费时间的.在这个过程就发现了一个有意思的需求,这里把思路以及解决方案总结下. 因为做的是考试系统,不管是大或者小的考试,本 ...

  2. CentOS7 部署黑客帝国代码雨

    1024程序猿的节日,搞一个黑客帝国画面玩玩 [root@localhost ~]# yum -y install ncurses-devel [root@localhost ~]# yum -y i ...

  3. python中特殊参数self的作用

    特殊参数self的作用:self会接收实例化过程中传入的数据,当实例对象创建后,实例便会代替 self,在代码中运行. self代表的是类的实例本身,方便数据的流转.对此,我们需要记住两点: 第一点: ...

  4. linux安装ngixn

    卸载ngxin(第一次安装请略过) 1.检查nginx是否启动,是否安装ngxin 检查是否安装nginx命令 rpm -qa|grep nginx 检查nginx是否启动命令: pa -ef|gre ...

  5. 如何制作报表?报表教程:适合你的热销车TOP25

    移动端看报表已成主流,Smartbi今天不是要告诉大家这是为什么,而是要实实在在的教大家,移动端报表应该怎么做,下面以Smartbi云报表的DEMO库中的"适合你的热销车TOP25" ...

  6. 【C# .Net GC】清除非托管类型(Finalize终结器、dispose模式以及safeHandler)

    总结 1.一般要获取一个内核对象的引用,最好用SafeHandle来引用它,这个类可以帮你管理引用计数,而且用它引用内核对象,代码更健壮 2.托管中生成并引用非托管,一但非托管和托管中的引用断开(托管 ...

  7. C#索引器-有参属性

    总结 只要类中有类似于属性的元素就应创建索引器,此属性代表的不是一个值,而是值的集合,其中每一个项由一组参数标识. 这些参数可以唯一标识应引用的集合中的项. 索引器延伸了属性的概念,索引器中的一个成员 ...

  8. Oracle 数据库用户锁定与解锁,用户锁定最大密码失败次数设置方法,ORA-28000: the account is locked问题解决方法

    转至:https://blog.csdn.net/qq_38161040/article/details/108274161 用户多次密码输入错误达到一定值就会被锁定. -- 用户锁定方法 alter ...

  9. mysql设置定时任务-渐入佳境

    --作者:飞翔的小胖猪 --创建时间:2021年2月26日 前言 mysql中设置定时任务,需要先打开调度才能实现自动执行任务.调度功能开启后过再配合存储过程或事件等组件实现特定或定时的任务实现. 步 ...

  10. 哈工大 计算机系统 实验一 Linux下C工具应用

    所有实验文件可见github 计算机系统实验整理 实验报告 实 验(一) 题 目 Linux下C工具应用 专 业 计算机学院 学 号 班 级 学 生 指 导 教 师 实 验 地 点 实 验 日 期 计 ...