0

0

百宝箱之介绍PHP Web查询数据库基本步骤_PHP教程

php中文网

php中文网

发布时间:2016-07-15 13:28:30

|

1252人浏览过

|

来源于php中文网

原创

php是开发web动态页面的首选编程,最近看了一本书收获很多,现在和大家一起分享一下php web查询数据库的知识,下面我们就一起来看看吧。从php web查询数据库的基本步骤:

1. 检查并过滤来自用户的数据 首先,我们将过滤用户可能在其搜索条件的起始或结束位置不小心输入的空白字符,这是用函数trim()来实现。 我们这么麻烦的检查用户输入数据的原因是防止多个接口连接数据库,因为用户从不同的界面进入,这样可能导致安全问题。

然后,当准备使用用户输入的任何数据时,也要适当的过滤一些控制字符,当用户输入数据到数据库时必须转义数据,,此时使用盗的函数有 addslashes()函数、stripslashes()函数和get_magic_qutoes_gpc()函数。 addslashes()函数为了数据库查询语句等的需要在某些字符前加上了反斜线;stripslashes()函数去掉字符串中的反斜线字符;get_magic_qutoes_gpc()函数 魔术添加转义字符 “”,获取当前活动配置magic_quotes_runtime设置,如果运行时关闭魔术引号,返回0,否则返回1。我们也可以使用 htmispecialchars()对HTML中的特殊意义字符警醒编码,htmispecialchars()函数把一些预定义的字符转换为 HTML 实体 预定义的字符是:& (和号) 成为 & " (双引号) 成为 " ' (单引号) 成为 ' (大于) 成为 >

2. 建立一个到适当数据库的连接 PHP为连接MySQL提供了函数库mysqli(i表示改进)。

当在PHP中使用mysqli函数库是可以使用面向对象或面向过程的语法:

立即学习PHP免费学习笔记(深入)”;

1)面向对象, @ $db = new mysqli('hostname','username','password','dbname');返回一个对象

2)面向过程: @ $db = mysqli_connect('hostname','username','password','dbname');返回一个资源,这个资源表示数据库的连接,而且 如果使用过程方法,必须将这个资源传递到mysqli的所有其它函数。

这与处理函数非常类似mysqli的大多数函数都有面向对象接口和过程接口,二者的差异则在于过程版本的函数名称以mysqli_开头,同时要求传入 mysqli_connect()函数获得的资源句柄。对于这个规则来说,数据可连接是一个异常,因为它是由mysqli对象的构造函数来创建的。因此尝试连接时需要进行检查,mysqli_connect_errno()函数将在出现连接 错误时返回一个错误号,如果成功,则返回0.

知了追踪
知了追踪

AI智能信息助手,智能追踪你的兴趣资讯

下载

请注意:当连接到数据库是,通常会议错误抑制符@作为第一含代码。这样可以巧妙的处理任何错误,也可以通过异常来处理。另外,MySQK对同时连接数据库的连接数量有一定的限制。MySQLi参数max_connections决定了同时连接的个数,该参数和相关的Apache参数 MaxClients的作用是告诉服务器拒绝新的连接请求,从而保证系统资源不会再系统忙碌时或系统瘫痪时被请求或使用。要设置Apache中的 MaxClients参数可以编辑系统中的httpd.conf文件。要为MySQLi设置max_connections参数可以编辑文件my.conf。

选择使用的数据库: 在MySQL命令行使用 use dbname;命令;在php中可以用$db->select_db(dbname);或mysqli_select_db(db_resource,dbname)。

3. 查询数据库 要执行数据库查询,首先应构造查询语句:$query = "select  from user";然后运行 $result = $db->query($query);或者$result = mysqli_query($db,$query); 面向对象版本将返回一个结果对象;过程版本将返回一个结果资源。无论何种方法都将结果保存在$result变量中工以后使用。如果函数运行失败将返回 false。

4. 获取查询结果 使用不同的函数以不同的方式将查询结果从结果对象或标识符中取出来,结果对象或标识符是访问查询返回行的关键。

通常我们要得到结果集中记录行的行数,并且使用mysqli_fetch_assoc()函数。返回行数:$num_results = $result->num_rows;(行数保存在对象的num_rows成员变量中)或$num_results = mysqli_num_rows($result);然后使用循环遍历每一行,在循环中调用 $row = $result->fectch_assoc();或者 $row = mysqli_fetch_assoc($result);返回该行的信息。如果是对象返回行则每个关键词为一个属性名,每个值为属性中的相应的值;如果以资源返回则返回数组。

还有其他从结果标识符中获取结果的方法,例如:使用$row = $result->fecth_row($result);或者$row = mysqli_fetch_row($result);将结果取回到一个列举数组中;也可以使用$row = $result->fecth_object();或者 $row = mysqli_fecth_object($result);江一行去回到一个对象中。

5. 从数据库断开 先释放结果集:$result->free();或 mysqli_free_result($result);然后关闭数据库连接:$db->close()或者 mysqli_close($db); 严格的说,这并不必须,因为脚本执行完毕的时候他们将被自动关闭。

以上就是PHP Web查询数据库的基本步骤,不知道大家学会了吗?赶快试试吧。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446449.htmlTechArticlePHP是开发WEB动态页面的首选编程,最近看了一本书收获很多,现在和大家一起分享一下PHP Web查询数据库的知识,下面我们就一起来看看吧。...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

33

2025.12.26

压缩文件加密教程汇总
压缩文件加密教程汇总

本专题整合了压缩文件加密教程,阅读专题下面的文章了解更多详细教程。

18

2025.12.26

wifi无ip分配
wifi无ip分配

本专题整合了wifi无ip分配相关教程,阅读专题下面的文章了解更多详细教程。

46

2025.12.26

漫蛙漫画入口网址
漫蛙漫画入口网址

本专题整合了漫蛙入口网址大全,阅读下面的文章领取更多入口。

91

2025.12.26

b站看视频入口合集
b站看视频入口合集

本专题整合了b站哔哩哔哩相关入口合集,阅读下面的文章查看更多入口。

283

2025.12.26

俄罗斯搜索引擎yandex入口汇总
俄罗斯搜索引擎yandex入口汇总

本专题整合了俄罗斯搜索引擎yandex相关入口合集,阅读下面的文章查看更多入口。

370

2025.12.26

虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

35

2025.12.25

错误代码dns_probe_possible
错误代码dns_probe_possible

本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

25

2025.12.25

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

72

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 6.4万人学习

Uniapp180分钟快速入门
Uniapp180分钟快速入门

共25课时 | 4.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号