[PHP] 访问MySQL
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相关推荐
- linux下mysql无法访问_Linux系统下无法访问mysql怎么办
ysql是一个关系型数据库管理系统,但最近有用户反映,在Linux系统下无法访问mysql,相信不少用户都有遇到过这个问题,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?接下来是小编为 ...
- Oracle 10g 中通过DBLink访问MySQL数据库
前一阵在公司通过Oracle访问MySQL,测试环境:CentOS5_X64, Oracle10g_X64, MySQL5 . 把一些经验分享给大家! 1, 首先在Oracle所在计算机安装MySQL ...
- ubuntu12.04 mysql 安装_Ubuntu 12.04 安装 配置 访问MySQL
Ubuntu 12.04下可以使用apt-get方式安装MySQL,并没有采用自己安装再更改各种配置的方法,太麻烦了,如果想自己安装再改配置的话,下面两篇文章很值得参考: 本人只是图省事而已,其实最好 ...
- python语言数据库规模_Python语言访问MySQL数据库
4.使用python语言访问MySQL 1)pymysql库:Python语言访问MySQL接口 -安装: 在线:pip install pymysql 离线: 第一步:下载安装包,下载地址: htt ...
- Linux下eclipse及mysql安装,c++访问mysql数据库
这两天在学习linux下用c++访问mysql,碰到一堆问题,记录一下. 1.mysql安装: 公司的电脑是64位的,安装的是64为的RHEL4,安装如下三个包: MySQL-client-5.1.4 ...
- arduino如何调用mysql,【 实测可用 】Arduino 直接访问 mysql
搜啊搜,终于找到可用的 Arduino 直接访问 mysql 方案, 简单易行,摆脱对于各种 MQTT IOT 平台的依赖.目前暂时先考虑实现, 安全什么的以后完善吧: 测试环境: 1.Arduino ...
- nginx lua连接mysql_OpenResty的安装和在nginx中使用lua直接访问mysql达到数据接口的统一...
OpenResty 它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 如果需要nginx的第三方库的时候,可以考虑OpenResty,可以少掉很多安装的麻烦,Open ...
- android与mysql数据库同步_android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?...
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
- serverless mysql_Serverless 解惑——函数计算如何访问 MySQL 数据库
函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...
- SpringBoot 实战 (八) | 使用 Spring Data JPA 访问 Mysql 数据库
微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 如题,今天介绍 Spring Data JPA 的使用. 什么是 Spring Data JPA 在介绍 Spri ...
最新文章
- 输出和为n的所有的连续自然数序列
- HBase 创建表/插入数据/查询数据命令
- OpenCV cv :: UMat与DirectX9ex曲面的互操作性的实例(附完整代码)
- 【嵌入式Linux】嵌入式Linux驱动开发基础知识之总线设备驱动模型
- vector中resize()和reserve()区别
- DC概论三之setup time 与 hold time 之二
- 三菱触摸屏程序和三菱PLC程序,程序都有注释
- android优化大师下载最新版,安卓优化大师(正式版)
- excle表格导出到本地
- 华为设备如何将接口配置为中继模式_华为无线路由器怎么设置中继
- 路由器有信号但是连接不上网络连接服务器,无线路由器有信号却不能连接网络怎么办...
- 名编辑电子杂志大师教程 | 仿古书翻页
- 深度学习环境安装之显卡驱动程序安装
- 太阳能最佳倾角c语言编程,用C语言编程计算太阳的高度角,用于控制太阳能电板最佳的倾角...
- sina vistor system
- 数据驾驶舱只是面子工程?它的真正作用你根本就不了解
- 毕设java 电脑配件购物商城论文
- 浪潮nf5280m5使用U盘安装win2012
- [VSHalcon] 无法定位程序输入点于动态链接库 .exe上
- 幼儿园门禁如何应用人脸识别技术?3大优势你知道几个
热门文章
- tkinter学习系列之(五)Checkbutton控件
- 诺基亚没放弃 它买下这家公司,要成为电信界的扛把子
- vim查找/替换字符串
- [每日一题] 11gOCP 1z0-053 :2013-09-29 Flashback Data Archive ...................................6...
- C# MessageBox 用法大全(转)
- Linux命令之uname
- ACCP学习旅程之-----硬件配置
- O(N)的时间复杂度找出a[N]中那个重复的数字
- maven项目的构建命令
- WPF线性渐变画刷应用之——炫彩线条