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 ...
随机推荐
- PowerTool x64驱动模块逆向分析(持续更新)
比赛打完了,来继续搞了,因为那个主动防御正在写,所以想找找思路正好想到可以来逆向一下PT的驱动模块看看pt大大是怎么写的程序. PT x64版本的驱动模块是这个kEvP64.sys. 0x0 先来看看 ...
- Spark(十二)SparkSQL简单使用
一.SparkSQL的进化之路 1.0以前: Shark 1.1.x开始:SparkSQL(只是测试性的) SQL 1.3.x: SparkSQL(正式版本)+Datafram ...
- JSON解析代码
/** * 解析有数据头的纯数组 */ private void parseHaveHeaderJArray() { //拿到本地JSON 并转成String String strByJson = J ...
- bzoj 1879 容斥
暴力求容斥系数或者直接组合数求容斥系数都可以. #include<bits/stdc++.h> #define LL long long #define fi first #define ...
- Redis keys命令
序号 命令及描述 1 DEL key该命令用于在 key 存在时删除 key. 2 DUMP key 序列化给定 key ,并返回被序列化的值. 3 EXISTS key 检查给定 key 是否存在. ...
- kafka和springboot整合应用
加载依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>s ...
- Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister报错解决办法
在做Hibernate框架数据库的关联关系映射练习中出现了Could not get constructor for org.hibernate.persister.entity.SingleTabl ...
- Collection模块
一.nametuple--factory function for creating tuple subclasses with named fields 创建类似于元祖的数据类型,除了能够用索引来访 ...
- 深入剖析cpp对象模型
C++对象模型可以概括为以下2部分: 1. 语言中直接支持面向对象程序设计的部分,主要涉及如构造函数.析构函数.虚函数.继承(单继承.多继承.虚继承).多态等等. 2. 对于各种支持的底层实现机制.在 ...
- eventbus 视频
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 尚硅谷Android视频<EventBus>_腾讯课堂