web mysql 查询数据库_从Web查询数据库之PHP与MySQL篇

本文介绍了如何在Web环境中使用PHP连接MySQL数据库,包括错误处理、选择数据库、执行查询、获取查询结果以及断开连接。重点讲解了使用mysqli函数库进行数据库操作,强调了prepared语句在防止SQL注入和提升性能上的作用。
摘要由CSDN通过智能技术生成

请注意:

当连接到数据库是,通常会议错误抑制符@作为第一含代码。这样可以巧妙的处理任何错误,也可以通过异常来处理。另外,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); 严格的说,这并不必须,因为脚本执行完毕的时候他们将被自动关闭。

从Web查询数据库:使用Prepared语句

mysqli函数库支持prepared语句的使用。它们对于在执行大量具有不同数据的相同查询时,可以提高速度,也可以免受SQL注射风格(injection-stytle——的攻击。

prepared语句的基本思想是可以向MySQL发送一个需要执行的查询模板,然后在单独发送数据。我们可以向相同的prepared语句发送大量的相同的数据;这个特性对批量处理的插入操作来说是非常有用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值