当前位置: 首页 > news >正文

PHP与mysql数据库交互

PHP与mysql数据库交互

文章目录

  • PHP与mysql数据库交互
      • 方法速查
      • 建立与Mysql链接
      • 捕获连接错误
      • SQL语句的执行
      • SQL 错误
      • SQL语句执行
      • 结果集对象
        • 方法速查
    • 案例

方法速查

函数名								 		作用
mysqli_connect()				与MySQL 数据库建立连接。
mysqli_close()					关闭与MYSQL 数据库建立的连接。
mysqli_connect_errno()			与MySQL 数据库建立连接时,发生错误时的错误编号。
mysqli_connect_error()			与MySQL 数据库建立连接时,发生错误时的错误信息。
mysqli_query()					执行SQL 语句
mysqli_errno()					执行SQL 语句时,发生错误的编号。
mysqli_error()					执行SQL 语句时,发生错误的信息。
mysqli_fetch_assoc()			从结果集对象中取数据,按条取数据。

建立与Mysql链接

想要建立连接想要用到一个PHP函数mysqli_connect( d b h o s t , db_host, dbhost,db_user, d b p a s s , db_pass, dbpass,db_name);

里面有四个参数

$db_host
主机的名称
$db_user
连接数据库的用户名
$db_pass
连接数据库用户名的密码
$db_name
连接的库名
$db_host='localhost';
$db_user='root';
$db_pass='root';
$db_name='xl_bbs';
$link= @mysqli_connect($db_host, $db_user, $db_pass, $db_name);

$link变量就相当于获取到了一个通行证

捕获连接错误

如果说建立连接失败就会停止执行所有语句,并输出错误和错误编号

if(!$link){exit("[".mysqli_connect_errno()."] ".mysqli_connect_error());
}

SQL语句的执行

要执行sql语句时需要用到mysqli_query()方法

$sql = "select * from users"
$results = mysqli_($link,$sql);

如果执行正常就会返回object类型数据否则,就是bool(false)。

SQL 错误

如果在执行SQL 语句的时候发生错误,mysqli_query 将返回false。可以使用以下函数捕获错误原因:

if(!$results){exit("[".mysqli_errno($link)."] ".mysqli_error($link));
}

SQL语句执行

需要用到mysqli_fetch_assoc()方法

导出第一条语句

var_dump($result);

所有语句全部导出

while($result = mysqli_fetch_assoc($results)){var_dump($result);
}

如果说导入第二条语句的话需要执行两遍var_dump($result);但是第一条结果会被覆盖只显示第二条语句

结果集对象

方法速查
函数														说明
mysqli_fetch_row()							以索引数组的方式获取一条记录的数据
mysqli_fetch_assoc()						以关联数组的方式获取一条记录的数据
mysqli_fetch_array()						以索引数组或关联数组的方式获取一条记录的数据
mysqli_fetch_all()							以索引数组或关联数组的方式获取全部记录的数据
mysqli_num_rows()							获取结果集对象中数据条数
mysqli_free_result()						释放与一个结果集合相关的内存

案例

利用之前做好的数据库来实现网页显示成果为下图
在这里插入图片描述

新建一个数据库把之前数据库实验的备份文件进行导入依次输入以下命令

create database bbs;
use bbs;
source C:/bbs.sql;

在这里插入图片描述
准备好数据库后用php代码创建连接

<?php$db_host="127.0.0.1";$db_user= "root";$db_pass= "rooe";$db_name= "bbs";$link=@mysqli_connect("$db_host","$db_user","$db_pass","$db_name");
?>

做一个 捕获错误连接不上数据库时进行简单报错

 if(!$link){exit("数据库连接错误"."【".mysqli_connect_errno()."】".mysqli_connect_error());
}

写入查询sql语句并用mysqli_query()方法执行sql语句

$sql="select * from message";$results=mysqli_query($link,$sql);

想要去每条数据使用while循环用mysqlo_fetch_assoc()方法进行取值进行输出条件为mysqlo_fetch_assoc()把全部值取完
再加入表格元素那么就成功了

echo "<table border='2'> <tr><td>ID</td><td>UID</td><td>TITLE</td><td>CONTENT</td></tr> ";while($result=mysqli_fetch_assoc($results)){   echo "<tr>";foreach($result as $key=>$value){ echo "<td>";echo $value;echo "</td>";}echo "</tr>";}

最后再关闭链接

mysqli_close($link);

在这里插入图片描述
优化后可以通过id查找数据库内容的源码如下

<pre><meta charset="utf-8">
<?php$db_host="127.0.0.1";$db_user= "root";$db_pass= "root";$db_name= "bbs";$link=@mysqli_connect("$db_host","$db_user","$db_pass","$db_name");if(!$link){exit("数据库连接错误"."【".mysqli_connect_errno()."】".mysqli_connect_error());}
$id=isset($_REQUEST["id"])?$_REQUEST['id']:1;$sql="select m.id, u.username, m.title,m.content from message m,user u where m.uid= u.id and m.id={$id};";$results=mysqli_query($link,$sql);if(!$results){exit("数据库错误".mysql_errno().mysql_error());}echo "<table border='2'> <tr><td>ID</td><td>UID</td><td>TITLE</td><td>CONTENT</td></tr> ";while($result=mysqli_fetch_assoc($results)){   echo "<tr>";foreach($result as $key=>$value){ echo "<td>";echo $value;echo "</td>";}echo "</tr>";}
mysqli_close($link);
?>

在这里插入图片描述

相关文章:

PHP与mysql数据库交互

PHP与mysql数据库交互 文章目录 PHP与mysql数据库交互方法速查建立与Mysql链接捕获连接错误SQL语句的执行SQL 错误SQL语句执行结果集对象方法速查 案例 方法速查 函数名 作用 mysqli_connect() 与MySQL 数据库建立连接。 mysqli_close() 关闭与MYSQL 数据库建…...

【广州华锐视点】VR飞行员驾驶模拟实训系统

VR飞行员驾驶模拟实训系统是一种基于虚拟现实技术的航空装备仿真测试技术&#xff0c;可以用于飞行员、乘务员和机务人员的训练。该系统可以模拟真实的飞行环境&#xff0c;包括天气、地形、飞机性能等&#xff0c;使被试者能够在虚拟环境中进行飞行操作&#xff0c;从而提高其…...

太烂的牌也要打完只为自己也不是为了其他什么原因。

day17_io02 1.上课代码敲一遍 2.读取一个文件&#xff0c;这个文件中有随机的一些数字字符&#xff0c;统计这些数字有几个偶数&#xff0c;几个奇数&#xff0c;并且追加写入到该文件末尾。 例如&#xff1a; a.txt文件&#xff1a; 3241256364789629090126581212515 奇数&…...

SDL窗口创建以及简单显示(1)

项目创建步骤 1. 使用Qt Creator创建一个C项目 2. 将SDL库文件放到源文件目录下 在项目pro文件中添加库文件 win32{INCLUDEPATH $$PWD/SDL2-2.0.10/includeLIBS $$PWD/SDL2-2.0.10/lib/x86/SDL2.lib } 使用SDL创建一个窗口 #include <stdio.h>#include <SDL.h>…...

【Html】交通灯问题

效果 实现方式 计时器&#xff1a;setTimeout或setInterval来计时。setInterval和 setTimeout 在某些情况下可能会出现计时不准确的情况。这通常是由于JavaScript的事件循环机制和其他代码执行所需的时间造成的。 问询&#xff1a;通过getCurrentLight将每个状态的持续时间设置…...

用IntelliJ远程打断点调试

前提当然是本地和远程部署的代码一样。 记录下步骤&#xff1a; 1&#xff0c;用token登录kuboard&#xff0c;找到目标容器的IP&#xff1a; 2, 用上一步找到的IP等信息创建Remote JVM Debug: 3&#xff0c;打断点&#xff0c;wkb说要把断点此属性改为线程。我试了下似乎…...

Spring-Bean的生命周期概述

Bean的生命周期概述 入门使用的Spring代码&#xff1a; ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext("spring.xml"); UserService userService (UserService) context.getBean("userService"); userService.test(); …...

SENet 学习

ILSVRC 是一个比赛&#xff0c;全称是ImageNet Large-Scale Visual Recognition Challenge&#xff0c;平常说的ImageNet比赛指的是这个比赛。 使用的数据集是ImageNet数据集的一个子集&#xff0c;一般说的ImageNet&#xff08;数据集&#xff09;实际上指的是ImageNet的这个子…...

目前和未来的缓存构建

说起来可能有点反直觉&#xff0c;有时候不运行反而可以帮助我们加快速度&#xff0c;这正是网络浏览器运行的指导原则。不必在页面上加载所有内容&#xff0c;缓存的元素已经存在&#xff0c;不需要每次访问网站或网页时都重新加载。页面加载速度越快&#xff0c;浏览器的工作…...

aws亚马逊云免费账号代充值!!!什么是 AWS Lambda?

AWS Lambda 是一项计算服务&#xff0c;可使您无需预配置或管理服务器即可运行代码。 Lambda 在可用性高的计算基础设施上运行您的代码&#xff0c;执行计算资源的所有管理工作&#xff0c;其中包括服务器和操作系统维护、容量调配和弹性伸缩和记录。使用 Lambda&#xff0c;您…...

《从零开始大模型开发与微调 :基于PyTorch与ChatGLM》简介

内 容 简 介 大模型是深度学习自然语言处理皇冠上的一颗明珠&#xff0c;也是当前AI和NLP研究与产业中最重要的方向之一。本书使用PyTorch 2.0作为学习大模型的基本框架&#xff0c;以ChatGLM为例详细讲解大模型的基本理论、算法、程序实现、应用实战以及微调技术&#xff0c;…...

【LeetCode】102. 二叉树的层序遍历

题目链接 文章目录 Python3方法一&#xff1a; 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯方法二&#xff1a; 深度优先搜索 (DFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯ C方法一&#xff1a; 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n…...

golang连接池检查连接失败时如何重试

在Go中&#xff0c;可以通过使用database/sql包的DB类型的Ping方法来检查数据库连接的可用性。如果连接检查失败&#xff0c;可以选择进行重试。以下是一个简单的示例代码&#xff0c;演示了如何在连接检查失败时进行重试&#xff1a; import ("database/sql""…...

从JavaScript到Rust的三年时间小结

Rust 是一种注重安全性、速度和并发性的系统编程语言。它能编译成高效的本地代码&#xff0c;无需垃圾回收即可访问内存等底层资源&#xff0c;同时还能防止分隔故障。 作者讨论了他们几年来用 Rust 构建大型应用程序和库的经验。他们发现 Rust 的借用检查器和类型系统有助于减…...

【Python机器学习】零基础掌握VotingRegressor集成学习

如何更准确地预测房价? 想象一下,你是一名房地产分析师,你的任务是预测一个小区的未来房价。这看似简单,但实际上,房价受到多种因素的影响,如地理位置、房屋面积、周围设施等。你可能会使用线性回归模型来进行预测,但是你会发现,尽管模型的准确性还可以,但还是存在一…...

云计算模式的区域LIS系统源码,基于ASP.NET+JQuery、EasyUI+MVC技术架构开发

云计算模式的区域LIS系统源码 云LIS系统源码&#xff0c;自主版权 LIS系统是专为医院检验科的仪器设备能与计算机连接。可通过LIS系统向仪器发送指令&#xff0c;让仪器自动操作和接收仪器数据。并快速的将检验仪器中的数据导入到医生工作站中进行管理&#xff0c;且可将检验结…...

面向对象设计原则之接口隔离原则

目录 定义接口隔离原则与单一职责原则示例 定义 接口隔离原则&#xff0c;全称为 Interface Segregation Principle&#xff0c;缩写ISP。 原始定义&#xff1a;Clients should not be forced to depend upon interfaces that they don’t use。 翻译&#xff1a; 不应该强行…...

haproxy 负载均衡

haproxy负载均衡 haproxy&#xff1a;基于C语言开发的开源软件 支持高性能的tcp和http负载均衡器&#xff0c;工作中用的版本1.5.9 haproxy功能&#xff1a;主要用于高并发的web站点&#xff0c;工作原理和nginx、lvs都一样 haproxy缺点: 单节点部署&#xff0c;单实例运行。代…...

在el-dialog中使用tinymce 点击工具栏下拉框被遮挡

在el-dialog中使用tinymce控件时&#xff0c;会出现点击工具栏下拉框出现在弹窗下一层&#xff0c;审查元素之后发现是tinymce的下拉框z-index优先级低于el-dialog的z-index导致的&#xff0c;所以需要增加tinymce的下拉框的z-index值。 通过审查元素得到&#xff0c;需要修改t…...

CloudQuery + StarRocks:打造高效、安全的数据库管控新模式

随着技术的迅速发展&#xff0c;各种多元化的数据库产品应运而生&#xff0c;它们不仅类型众多&#xff0c;而且形式各异&#xff0c;国产化数据库千余套&#xff0c;开源数据库百余套 OceanBase 、PolarDB 、StarRocks…还有一些像 Oracle、MySQL 这些传统数据库。这些数据库产…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...