1. 建立一个连接

PHP为连接MySQL提供了函数库:mysqli(i表示改进)。当在PHP中使用mysqli函数库时,可以使用面向对象或面向过程的语法。

在脚本中使用如下语句连接MySQL服务器:

//面向对象
$db = new mysqli('localhost', 'username', 'password', 'db');
//面向过程
$db = mysqli_connect('localhost', 'username', 'password', 'db');

这个函数将返回一个资源,而不是一个对象。这个资源表示到数据库的连接。

MySQL对同时连接数有一定的限制,MySQL参数max_connections决定同时连接的个数,它与相关的Apache参数MaxClients的作用是,告诉服务器拒绝新的连接请求,确保系统资源不会在系统忙碍的时候,或软件瘫痪的时候被请求和使用。

2. 选择数据库

PHP中,可以调用mysqli_select_db()函数来实现,例如:

//面向对象
$db->select_db($dbname);
//面向过程
mysqli_select_db($db_resource, $db_name);

3. 查询数据库

可以使用mysqli_query()函数来执行数据库查询,例如:

//面向对象
$result = $db->query($query);
//面向过程
$result = mysqli_query($db_resource, $query);

4. 检索结果

可以使用不同的函数以不同的方式将查询结果从结果对象中取出。

1) 查询返回的行数。

//面向对象
$result->num_rows;
//面向过程
mysqli_num_rows($result);

2) 取出结果集中的一行,以关联数组返回。

//面向对象
$row = $result->fetch_assoc();
//面向过程
$row = mysqli_fetch_assoc($result);

3) 取出结果集中的一行,以索引数组返回。

//面向对象
$row = $result->fetch_row();
//面向过程
$row = mysqli_fetch_row($result);

4) 取出结果集中的一行,以对象形式返回。

//面向对象
$row = $result->fetch_object();
//面向过程
$row = mysqli_fetch_object($result);

5. 断开连接

通过调用如下语句,可以释放结果集:

//面向对象
$result->free();
//面向过程
mysqli_free_result($result);

然后调用如下语句关闭数据库连接:

//面向对象
$db->close();
//面向过程
mysqli_close($db);

6. 使用prepared

mysqli函数库支持prepared语句的使用。它们对于执行大量具有不同数据的相同查询时,可以提高执行速度,也可以免受SQL注入的***,例如:

$query = "insert into test value(?, ?, ?)";
$stmt = $db->prepare($query);
$stmt->bind_param(1, '2', "3");
$stmt->execute();
$row = $stmt->fetch();
$stmt->close();

[PHP] 访问MySQL相关推荐

  1. linux下mysql无法访问_Linux系统下无法访问mysql怎么办

    ysql是一个关系型数据库管理系统,但最近有用户反映,在Linux系统下无法访问mysql,相信不少用户都有遇到过这个问题,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?接下来是小编为 ...

  2. Oracle 10g 中通过DBLink访问MySQL数据库

    前一阵在公司通过Oracle访问MySQL,测试环境:CentOS5_X64, Oracle10g_X64, MySQL5 . 把一些经验分享给大家! 1, 首先在Oracle所在计算机安装MySQL ...

  3. ubuntu12.04 mysql 安装_Ubuntu 12.04 安装 配置 访问MySQL

    Ubuntu 12.04下可以使用apt-get方式安装MySQL,并没有采用自己安装再更改各种配置的方法,太麻烦了,如果想自己安装再改配置的话,下面两篇文章很值得参考: 本人只是图省事而已,其实最好 ...

  4. python语言数据库规模_Python语言访问MySQL数据库

    4.使用python语言访问MySQL 1)pymysql库:Python语言访问MySQL接口 -安装: 在线:pip install pymysql 离线: 第一步:下载安装包,下载地址: htt ...

  5. Linux下eclipse及mysql安装,c++访问mysql数据库

    这两天在学习linux下用c++访问mysql,碰到一堆问题,记录一下. 1.mysql安装: 公司的电脑是64位的,安装的是64为的RHEL4,安装如下三个包: MySQL-client-5.1.4 ...

  6. arduino如何调用mysql,【 实测可用 】Arduino 直接访问 mysql

    搜啊搜,终于找到可用的 Arduino 直接访问 mysql 方案, 简单易行,摆脱对于各种 MQTT IOT 平台的依赖.目前暂时先考虑实现, 安全什么的以后完善吧: 测试环境: 1.Arduino ...

  7. nginx lua连接mysql_OpenResty的安装和在nginx中使用lua直接访问mysql达到数据接口的统一...

    OpenResty 它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 如果需要nginx的第三方库的时候,可以考虑OpenResty,可以少掉很多安装的麻烦,Open ...

  8. android与mysql数据库同步_android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?...

    通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...

  9. serverless mysql_Serverless 解惑——函数计算如何访问 MySQL 数据库

    函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...

  10. SpringBoot 实战 (八) | 使用 Spring Data JPA 访问 Mysql 数据库

    微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 如题,今天介绍 Spring Data JPA 的使用. 什么是 Spring Data JPA 在介绍 Spri ...

最新文章

  1. 输出和为n的所有的连续自然数序列
  2. HBase 创建表/插入数据/查询数据命令
  3. OpenCV cv :: UMat与DirectX9ex曲面的互操作性的实例(附完整代码)
  4. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型
  5. vector中resize()和reserve()区别
  6. DC概论三之setup time 与 hold time 之二
  7. 三菱触摸屏程序和三菱PLC程序,程序都有注释
  8. android优化大师下载最新版,安卓优化大师(正式版)
  9. excle表格导出到本地
  10. 华为设备如何将接口配置为中继模式_华为无线路由器怎么设置中继
  11. 路由器有信号但是连接不上网络连接服务器,无线路由器有信号却不能连接网络怎么办...
  12. 名编辑电子杂志大师教程 | 仿古书翻页
  13. 深度学习环境安装之显卡驱动程序安装
  14. 太阳能最佳倾角c语言编程,用C语言编程计算太阳的高度角,用于控制太阳能电板最佳的倾角...
  15. sina vistor system
  16. 数据驾驶舱只是面子工程?它的真正作用你根本就不了解
  17. 毕设java 电脑配件购物商城论文
  18. 浪潮nf5280m5使用U盘安装win2012
  19. [VSHalcon] 无法定位程序输入点于动态链接库 .exe上
  20. 幼儿园门禁如何应用人脸识别技术?3大优势你知道几个

热门文章

  1. tkinter学习系列之(五)Checkbutton控件
  2. 诺基亚没放弃 它买下这家公司,要成为电信界的扛把子
  3. vim查找/替换字符串
  4. [每日一题] 11gOCP 1z0-053 :2013-09-29 Flashback Data Archive ...................................6...
  5. C# MessageBox 用法大全(转)
  6. Linux命令之uname
  7. ACCP学习旅程之-----硬件配置
  8. O(N)的时间复杂度找出a[N]中那个重复的数字
  9. maven项目的构建命令
  10. WPF线性渐变画刷应用之——炫彩线条