PHP的MySQL扩展:PHP訪问MySQL的经常使用扩展函数
来源:http://www.ido321.com/1024.html
一、PHP连接数据库及基本操作
MySQL採用的是’客户机/server’架构。使用PHP安装的MySQL扩展函数,和直接使用client软件区訪问MySQL数据库server,原理一样,都须要向MySQL管理系统发送SQL命令,然后将结果返回给用户。
在PHP中,SQL分为两类(查看SQL语句分类):一是有返回结果集的DQL语句,如select/desc 表名,运行完成之后,须要PHP处理结果集;二是没有结果集的,如DML、DDL等,可是DML语句运行成功后对数据表的记录有影响。
<? php
//连接数据库,经常使用參数是主机名、username和password
$link = mysql_connect('localhost','root','123456');
//推断是否连接成功
if(!$link)
{
die('连接失败'.mysql.error()); //连接成功返回资源标识符。失败返回false,mysql_error显示错误信息
} //选择数据库,mysql_error()仅仅在调试中使用。再部署项目时就不要了。不然会泄露数据库信息
mysql_select_db('test') or die('选择数据库失败'.mysql_error()); //mysql_query()能够设置字符集和运行SQL语句
mysql_query('set names utf-8');
$sql = 'insert into test(id,name) values("1","dwqs")';
$result = mysql_query($sql); //运行sql返回结果集 //处理结果集,insert属于DML。会对表的记录有影响
if($result && mysql_affected_rows() > 0)
{
//mysql_insert_id()返回最后一条新纪录的auto_increment值
echo '插入数据成功'.mysql_insert_id().'<br/>';
}
else
{
echo '插入数据失败,错误号:'.mysql_errno().'错误信息:'.mysql_error().'<br/>';
} //关闭连接
mysql_close($link);
?>
二、PHP处理select查询结果集
在PHP中运行select语句返回一个结果集,能够用于对各个字段的处理
$result = mysql_query('select * from test');
//获取记录行的个数
$rows = mysql_num_rows($result);
//获取字段个数,即数据列
$cols = mysql_num_fields($result);
假设须要訪问结果集中的数据,能够使用下列四个函数中的一个(均以结果集资源符作为參数,并自己主动返回下一条记录。在表末尾时返回false)
1、mysql_fetch_row():该函数将一条结果记录返回并以一个普通的索引数据保存
2、mysql_fetch_assoc():从结果集中取得一行作为关联数据保存
3、mysql_fetch_array():从结果集中取得一行作为关联数组,或数字数组,或二者兼有。能够使用MYSQL_ASSOC(关联数组形式)、MYSQL_NUM(索引数组形式)和MYSQL_BOTH作为第二个參数,指定返回的数据形态。
4、mysql_fetch_object():从结果集中取得一行作为对象,各个字段以对象方式訪问。
建议:没有特殊要求,不要使用mysql_fetch_array(),能够使用mysql_fetch_row()或者mysql_fetch_assoc()实现相同的功能,且效率高。
另外也有三个与结果集相关的经常使用函数
5、mysql_data_seek(int $num):移动内部结果的指针,$num是想要设定的新的结果集指针的行数。
6、mysql_fetch_lengths(resource ):取得结果集中每一个输出的长度
$result
7、mysql_result(resource $result , int
$row[,mixed $field]):返回 MySQL 结果集中一个单元的内容。字段參数能够是字段的偏移量或者字段名,或者是字段表点字段名(tablename.fieldname)。假设给列起了别名(’select foo as bar from…’),则用别名替代列名。调用
mysql_result()不能和其他处理结果集的函数混合调用。
PHP的MySQL扩展:PHP訪问MySQL的经常使用扩展函数的更多相关文章
- mysql的安装、C++訪问mysql数据库、编码设置问题
一.mysql的安装.这个相对简单,直接去官网下载mysql安装程序.就能够完毕安装过程,网上有非常多安装教程,这个没什么注意事项. 二.C++訪问mysql.主要是用到mysql定义的头文件,内部定 ...
- php訪问mysql数据库
PHP訪问Mysql数据库 PHP能够通过mysql接口和mysqli接口訪问mysql数据库. 须要加入mysql和mysqli接口才干訪问mysql数据库. windows下配置amp: a.安装 ...
- PHP訪问MySql数据库 0基础篇
在站点后台,常常要与数据库打交道.本文介绍怎样使用XAMPP来管理MySql数据库及怎样用PHP来訪问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...
- 在nginx中使用lua直接訪问mysql和memcaced达到数据接口的统一
安装nginx參见<nginx+lua+redis构建高并发应用> 让nginx 中的nginx_lua_module支持mysql 和memcache 下载 https://github ...
- mysql设置远程訪问数据库的多种方法
问题:MySQL权限设置正确,但仍无法远程訪问.通过telnet发现3306port未打开. 分析:MySQL默认仅仅绑定127.0.0.1,即:仅仅有在本机才干訪问3306port. 解决:找到My ...
- C语言訪问MySQL数据库的方法
1.加入头文件路径(MySQL安装路径中的include路径) 2.加入库文件(直接从MySQL安装路径中copy libmysql.lib就可以) 3.编程操作数据库 代码 // AccessToM ...
- PHP的MySQL扩展:PHP访问MySQL的常用扩展函数
来源:http://www.ido321.com/1024.html 一.PHP连接数据库及基本操作 MySQL采用的是’客户机/服务器’架构.使用PHP安装的MySQL扩展函数,和直接使用客户端软件 ...
- mysql本地訪问linuxserver,出现SQLSTATE[HY000] [1130] Host '127.0.0.1' is not allowed to connect to this
解决方式:网上看了说.更改mysql库的user表,加入一条host为%的数据就能够.可是还是不行. 后来,直接登录mysql.给訪问加权限就能够了. 运行 [root@iZ25p77kem7Z ~] ...
- MYSQL加入远程用户或同意远程訪问三种方法
加入远程用户admin密码为password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WIT ...
随机推荐
- Java MongoDB : Save image example
In this tutorial, we show you how to save an image file into MongoDB, via GridFS API. The GridFS API ...
- Redis(四)Redis高级
一Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 r ...
- jsp页面中注释 <!-- --> 和<%-- --%> 的区别
jsp页面中注释 <!-- --> 和<%-- --%> 的区别 原创 2016年09月01日 17:55:44 标签: jsp注释 5605 今天发现一个问题:在jsp代码中 ...
- Ionic入门八:头部与底部
1.Header(头部) Header是固定在屏幕顶部的组件,可以包如标题和左右的功能按钮. ionic 默认提供了许多种颜色样式,你可以调用不同的样式名,当然也可以自定义一个. <div cl ...
- FIFO调度算法和LRU算法
一.理论 FIFO:先进先出调度算法 LRU:最近最久未使用调度算法 两者都是缓存调度算法,经常用作内存的页面置换算法. 打一个比方,帮助你理解.你有很多的书,比如说10000本.由于你的书实在太多了 ...
- 分布式系统的烦恼------《Designing Data-Intensive Applications》读书笔记11
使用分布式系统与在单机系统中处理问题有很大的区别,分布式系统带来了更大的处理能力和存储容量之后,也带来了很多新的"烦恼".在这一篇之中,我们将看看分布式系统带给我们新的挑战. 1. ...
- loj#2718. 「NOI2018」归程
题目链接 loj#2718. 「NOI2018」归程 题解 按照高度做克鲁斯卡尔重构树 那么对于询问倍增找到当前点能到达的高度最小可行点,该点的子树就是能到达的联通快,维护子树中到1节点的最短距离 s ...
- 【二分】【动态规划】Gym - 101156E - Longest Increasing Subsequences
求最长上升子序列方案数. 转载自:http://blog.csdn.net/u013445530/article/details/47958617,如造成不便,请博主联系我. 数组A包含N个整数(可能 ...
- Ajax提交进度显示实例
概述:ajax提交比较大的文件的时候,我们希望能够看到它上传的进度,代码放下面了. <!DOCTYPE html> <html> <head> <meta c ...
- Uva 5002 - The Queue DFS
On some special occasions Nadia’s company provide very special lunch for all employees of the compan ...