来源: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()不能和其他处理结果集的函数混合调用。

下一篇:怎样利用WordPress创建自己定义注冊表单插件

PHP的MySQL扩展:PHP訪问MySQL的经常使用扩展函数的更多相关文章

  1. mysql的安装、C++訪问mysql数据库、编码设置问题

    一.mysql的安装.这个相对简单,直接去官网下载mysql安装程序.就能够完毕安装过程,网上有非常多安装教程,这个没什么注意事项. 二.C++訪问mysql.主要是用到mysql定义的头文件,内部定 ...

  2. php訪问mysql数据库

    PHP訪问Mysql数据库 PHP能够通过mysql接口和mysqli接口訪问mysql数据库. 须要加入mysql和mysqli接口才干訪问mysql数据库. windows下配置amp: a.安装 ...

  3. PHP訪问MySql数据库 0基础篇

    在站点后台,常常要与数据库打交道.本文介绍怎样使用XAMPP来管理MySql数据库及怎样用PHP来訪问MySql数据库. 一.使用XAMPP来管理MySql数据库 首先使用XAMPP打开MySql的管 ...

  4. 在nginx中使用lua直接訪问mysql和memcaced达到数据接口的统一

    安装nginx參见<nginx+lua+redis构建高并发应用> 让nginx 中的nginx_lua_module支持mysql 和memcache 下载 https://github ...

  5. mysql设置远程訪问数据库的多种方法

    问题:MySQL权限设置正确,但仍无法远程訪问.通过telnet发现3306port未打开. 分析:MySQL默认仅仅绑定127.0.0.1,即:仅仅有在本机才干訪问3306port. 解决:找到My ...

  6. C语言訪问MySQL数据库的方法

    1.加入头文件路径(MySQL安装路径中的include路径) 2.加入库文件(直接从MySQL安装路径中copy libmysql.lib就可以) 3.编程操作数据库 代码 // AccessToM ...

  7. PHP的MySQL扩展:PHP访问MySQL的常用扩展函数

    来源:http://www.ido321.com/1024.html 一.PHP连接数据库及基本操作 MySQL采用的是’客户机/服务器’架构.使用PHP安装的MySQL扩展函数,和直接使用客户端软件 ...

  8. mysql本地訪问linuxserver,出现SQLSTATE[HY000] [1130] Host &#39;127.0.0.1&#39; is not allowed to connect to this

    解决方式:网上看了说.更改mysql库的user表,加入一条host为%的数据就能够.可是还是不行. 后来,直接登录mysql.给訪问加权限就能够了. 运行 [root@iZ25p77kem7Z ~] ...

  9. MYSQL加入远程用户或同意远程訪问三种方法

    加入远程用户admin密码为password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WIT ...

随机推荐

  1. spark集群安装[转]

    [转]http://sofar.blog.51cto.com/353572/1352713 ====================================================== ...

  2. Alpine里的用户管理命令

    注意噢,和普通的linux不一样的. 1, 建立一个指定GID的组: addgroup -g 10001 -S groupA 2, 建立一个指定UID的用户,指定shell, 让它属于指定的用户组. ...

  3. Pg168-1

    1.Pg168-1 package org.hanqi.pn0120; public class Computer { private double neicundx=10; public doubl ...

  4. Rookey.Frame v1.0 视频教程之三发布-框架核心思想介绍

    本期发布视频: (三)Rookey.Frame v1.0框架核心思想 介绍了Rookey.Frame v1.0框架搭建的核心思想,将框架核心思想理解清楚,对框架运行就会得心应手 官方视频教程: htt ...

  5. hdoj2037 今年暑假不AC(贪心)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2037 思路 想要看的节目尽可能的多,则首先要将节目按照结束时间从早到晚排序,因为一个节目越早结束,留给 ...

  6. 成为IT经理必备的十大能力 不只是技术!

    对于一个IT从业者,让你谋得工作的也许是技术能力,但有助于提升职业生涯的却是软技能.步步高升的人都是那些发表文章.在会议上积极发言以及关注客户的员工(程序员).与此同时,通常情况下,企业CIO或多或少 ...

  7. Spring Boot使用Log4j Implemented Over SLF4J生成日志并在控制台打印

    Spring Boot设置切面,执行方法的时候在控制台打印出来,并生成日志文件 引入依赖: <!--日志--> <dependency> <groupId>org. ...

  8. 查看shell 版本

    cat /etc/shells 查看本机支持的解释器: echo $SHELL 当我们直接使用./a.sh来执行这个脚本的时候,如果没有shebang,那么它就会默认用$SHELL指定的解释器,否则就 ...

  9. 配置k8s dns

    DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统 ...

  10. Ubuntu 16.04 64位 tftp服务器搭建

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传输服务 ...