使用PHP从web访问mysql数据库
一. web数据库构架的工作原理
1. 用户由浏览器发出HTTP请求,请求特定的web页面。
2. web服务器接受接收到对特定页面的请求,检索相应文件,并将其传递给php引擎处理。
3. php引擎开始解析脚本,脚本主要包括,连接到数据库和执行查询命令
4. mysql数据库接收到对数据库查询的请求,处理请求,并将查询结果返回给php引擎。
5. php引擎完成脚本运行后,将结果返回给web服务器
6. web服务器将结果返回给客户端浏览器,并将结果展现给用户。
二. web查询数据库的基本步骤
1. 检查并过滤来自用户的数据
2. 建立一个到数据库的连接
3. 查询数据库
4. 获取查询结果
5. 将结果显示给用户
三 具体操作
1. 连接数据库
php为mysql提供了函数库,这个函数库是mysqli。
$db =new mysqli('host','db_name','username','pwd');
该连接返回一个资源,而不是一个对象。
2. 数据库连接检查
if(mysqli_connect_errno()){echo"error";exit;}
3. 选择数据库
mysqli_select_db('db_name');
4. 查询数据库
$query = "select * from table_name";
$result = $db->query($query); //或者mysqli_query($query);
5. 检索查询结果
返回的结果保存在num_rows中,表示查询结果的行数。
$num_rows = $result->num_rows;
获取查询每一行,并存储到数组中(按数据表或多个字段查询)
$row = $resullt->fetch_assoc();该函数接受集合中每个关键词代表一个属性名,每个之为数组中相应的值。
echo $row['name'] 获取数组中的属性name对应的值
获取查询结果每一行,存储到对象中 (按数据表或多个字段查询)
$row = $result->fetch_object();此时访问每个属性echo $row->name;
若查询条件为查询某个字段,则可以将查询结果保存到列举数组(一维数组)中。
$row = $result->fetch_row($result);此时可通过$row[0],$row[1],$row[2]访问查询结果。
6. 从数据库断开连接
1. 释放数据
$result->free();
2. 关闭数据库
$db->close();
使用PHP从web访问mysql数据库的更多相关文章
- 第11章 使用PHP从Web访问MySQL数据库
1.过滤用户可能值其搜索条件的起始或结束位置不小心输入的空白字符: 应用trim(): 2.转义数据(第4章)函数:addslashes(),stripslashes(),get_magic_quot ...
- 对C#中的web访问mysql数据库的一些知识点进行了整理归纳总结
基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...
- C# web访问mysql数据库-整理归纳总结
基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...
- android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
- 基于gin的golang web开发:访问mysql数据库
web开发基本都离不开访问数据库,在Gin中使用mysql数据库需要依赖mysql的驱动.直接使用驱动提供的API就要写很多样板代码.你可以找到很多扩展包这里介绍的是jmoiron/sqlx.另外还有 ...
- C#连接、访问MySQL数据库
一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- Linux下C++访问MySQL数据库
由于想要开始了解并学习用LAMP进行web开发,所以昨晚我在Fedora上安装了MySQL,学习了MySQL的几个常用命令.想着在学习进行web开发(PHP访问数据库)之前,先用我熟悉的C++连接数据 ...
- 关于.Net使用企业库访问MySql数据库
关于.Net使用企业库访问MySql数据库 在网上看了很多又重写又加WebConfig中的内容,其实不用那么麻烦 企业库5.0访问MySql数据库只需要在Web服务器安装mysql-connector ...
随机推荐
- 在UC浏览器上很炫的一个效果
效果简述: 这个效果将会强行去除UC浏览器的网址输入框和底部的菜单栏,这样网页将会占据整个手机界面.感觉看起来很像是一个APP. 浏览器界面右下角将会出现一个向上的标志,用来唤出简单的菜单栏. (界面 ...
- 为GridView中的DropDownList赋值
<Bda:GridView ID="gvMessage" runat="server" Height="70px" Width=&qu ...
- hex和bin文件格式的区别
Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量.Intel HEX文件经常被用于将程序或数据传输存储到 ...
- Absolute sort
Absolute sort Let's try some sorting. Here is an array with the specific rules. The array (a tuple) ...
- 【czy系列赛】czy的后宫6 && bzoj1044 [HAOI2008]木棍分割
题目描述 众所周知的是丧尸czy有很多妹子(虽然很多但是质量不容乐观QAQ),今天czy把n个妹子排成一行来检阅.但是czy的妹子的质量实在--所以czy看不下去了.检阅了第i个妹子会增加czy a[ ...
- Factorials 阶乘
Description N的阶乘写作N!表示小于等于N的所有正整数的乘积.阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了.你的任务是找到阶乘最后面的非零位.举个例 ...
- Gym 100570E : Palindrome Query
De Prezer loves palindrome strings. A string s1s2...sn is palindrome if and only if it is equal to i ...
- windows多线程同步总结
1.多线程同步与多线程互斥的关系 其实这也是我一直困扰的问题,在这里我只是说说我的理解.我的理解是多线程互斥是针对于多线程资源而言的. 而多线程同步是针对于多线程时序问题.由于线程的并发性导致其运行时 ...
- Divide and Conquer.(Merge Sort) by sixleaves
algo-C1-Introductionhtml, body {overflow-x: initial !important;}html { font-size: 14px; }body { marg ...
- JSTL解析——007——fmt标签库02
各位亲们,近期事情比较多,没更新,come on! 1.<fmt:bundle>/<fmt:message>/<fmt:param>资源国际化标签 java中使用R ...