1. 建立和关闭连接1) mysql_connect()

resource mysql_connect([string hostname [:port][:/path/to/socket][,string username] [,string password]])

所有参数都是可选的

举例:

@mysql_connect(“localhost”, “user”, “password”)

or die(“Could not connect to mysql server!”);

注意,@符号表示禁止失败尝试导致的任何错误信息,用户将看到的是die()中指定的错误信息.

注意,当与多个mysql进行连接时,必须指定每个连接的链接ID,如下:

$link1 = @mysql_connect(“server1″, “user”, “password”)

or die(“Could not connect to mysql server!”);

$link2 = @mysql_connect(“server2″, “user”, “password”)

or die(“Could not connect to mysql server!”);

2) mysql_pconnect()

resource mysql_pconnect([string hostname [:port][:/path/to/socket][,string username] [,string password]])

与mysql_connect()不同的是:会首先查找现有链接,不存在时才创建.

注意,不需要显示关闭连接(mysql_close()),因为连接将放在池中,所以叫持久连接.

3) mysql_close()

boolean mysql_close([resource link_id])

关闭连接不是必须的,因为可以由mysql的垃圾回收来处理.

如果没有指定link_id,则关闭最近的链接.

2. 选择数据库mysql_select_db()

boolean mysql_select_db(string db_name [, resource link_id])

3. 查询MySql1) mysql_query()

resource mysql_query(string query [,resource link_id])

负责执行query.

2) mysql_db_query()

resource mysql_db_query(string database, string query [, resource link_id])

等价于mysql_select_db() + mysql_query(),从参数中就可以清楚的看出来.

4. 获取和显示数据

1) mysql_result()

mixed mysql_result(resource result_set, int row [,mixed field])

从result_set 的指定row 中获取一个field 的数据. 简单但是效率低.

举例:

$link1 = @mysql_connect(“server1″, “webuser”, “password”)

or die(“Could not connect to mysql server!”);

@mysql_select_db(“company”) or die(“Could not select database!”);

$query = “select id, name from product order by name”;

$result = mysql_query($query);

$id = mysql_result($result, 0, “id”);

$name = mysql_result($result, 0, “name”);

mysql_close();

注意,上述代码只是输出结果集中的第一条数据的字段值,如果要输出所有记录,需要循环处理.

for ($i = 0; $i <= mysql_num_rows($result); $i++)

{

$id = mysql_result($result, 0, “id”);

$name = mysql_result($result, 0, “name”);

echo “Product: $name ($id)”;

}

注意,如果查询字段名是别名,则mysql_result中就使用别名.

2) mysql_fetch_row()

array mysql_fetch_row(resource result_set)

从result_set中获取整行,把数据放入数组中.

举例(注意和list 的巧妙配合):

$query = “select id, name from product order by name”;

$result = mysql_query($query);

while(list($id, $name) = mysql_fetch_row($result)) {

echo “Product: $name ($id)”;

}

3) mysql_fetch_array()

array mysql_fetch_array(resource result_set [,int result_type])

mysql_fetch_row()的增强版.

将result_set的每一行获取为一个关联数组或/和数值索引数组.

默认获取两种数组,result_type可以设置:

MYSQL_ASSOC:返回关联数组,字段名=>字段值

MYSQL_NUM:返回数值索引数组.

MYSQL_BOTH:获取两种数组.因此每个字段可以按索引偏移引用,也可以按字段名引用.

举例:

$query = “select id, name from product order by name”;

$result = mysql_query($query);

while($row = mysql_fetch_array($result, MYSQL_BOTH)) {

$name = $row['name'];//或者 $name = $row[1];

$name = $row['id'];//或者 $name = $row[0];

echo “Product: $name ($id)”;

}

4) mysql_fetch_assoc()

array mysql_fetch_assoc(resource result_set)

相当于 mysql_fetch_array($result, MYSQL_ASSOC)

5) mysql_fetch_object()

object mysql_fetch_object(resource result_set)

和mysql_fetch_array()功能一样,不过返回的不是数组,而是一个对象.

举例:

$query = “select id, name from product order by name”;

$result = mysql_query($query);

while($row = mysql_fetch_object($result)) {

$name = $row->name;

$name = $row->id;

echo “Product: $name ($id)”;

}

5. 所选择的记录和受影响的记录1) mysql_num_rows()

int mysql_num_rows(resource result_set)

返回result_set中的行数.

注意,mysql_num_rows()只在确定select语句查询获得的记录数有效,如果要获取insert/updata/delete查询影响的记录数,需要使用mysql_affected_rows().

2) mysql_affected_rows()

int mysql_affected_rows([resource link_id])

获取insert/updata/delete查询影响的记录数

注意,不需要输入参数,默认使用最近建立的数据库连接的最近结果.可以使用可选参数link_id来选择数据库连接.

6. 获取数据库和表的信息

1) mysql_list_dbs()

resource mysql_list_dbs([resource link_id])

获取服务器上所有数据库名称.

举例:

mysql_connect(“localhost”, “name”,”pwd”);

$dbs = mysql_list_dbs();

while (list($db) = mysql_fetch_row(dbs)) {

echo “$db
”;

}

注意,输出结果与使用的用户权限相关.

2) mysql_db_name()

string mysql_db_name(resource result_set, interger index)

获取在mysql_list_dbs()返回的result_set中位置为index的数据库名.

3) mysql_list_tables()

resource mysql_list_tables(string database [,resource link_id])

获取database中的所有表名.

4) mysql_tablename()

string mysql_tablename(resource result_set, interger index)

获取mysql_list_tables()返回的result_set中位置为index的表名.

在学习PHP的COM 和 .Net(Windows)函数的时候,发现了一个通过COM操作SQL SERVER的例子,查找了相关的资料,于是就有了这篇PHP连接ACCESS的文章,相信网上已经很多了,还是贴在这里吧。

我的机器环境:WIN2000,APACHE2,PHP Version 5.1.0RC1

$conn = new COM(“ADODB.Connection”) or die(“Cannot start ADODB.Connection”);

$conn->Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\php5\\netBook.mdb”);

$rs = $conn->Execute(“select * from manage”); // 记录集

$num_columns = $rs->Fields->Count();

echo $num_columns . “
\n”;

for ($i=0; $i < $num_columns; $i++) {

$fld[$i] = $rs->Fields($i);

}

$rowcount = 0;

while (!$rs->EOF) {

for ($i=0; $i < $num_columns; $i++)

{

echo htmlspecialchars($fld[$i]->value) . “\t”;

}

echo “
\n”;

$rowcount++; // rowcount 自增

$rs->MoveNext();

}

$rs->Close(); //关闭数据集

$conn->Close();

?>

php mysql 操作函数_PHP操作mysql函数详解,mysql和php交互函数相关推荐

  1. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  2. mysql从挂了数据怎么恢复_详解MySQL误操作后怎样进行数据恢复

    一.开启binlog. 首先查看binlog是否开启 mysql> show variables like "log_bin"; +---------------+----- ...

  3. mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法

    1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...

  4. mysql 事物的持久性是指_详解MySQL中事务的持久性实现原理

    前言 说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什 ...

  5. mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法

    引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...

  6. mysql 用户管理表_Mysql—用户表详解(mysql.user)

    MySQL 数据库 Mysql-用户表详解(mysql.user) MySQL是一个多用户管理的数据库,可以为不同用户分配不同的权限,分为root用户和普通用户,root用户为超级管理员,拥有所有权限 ...

  7. mysql获取当天每小时统计_详解mysql 获取某个时间段每一天、每一个小时的统计数据...

    获取每一天的统计数据 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:1 ...

  8. mysql中获取时间的年月日_详解mysql 获取当前日期及格式化

    MySQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统日期,输出 ...

  9. 详解mysql数据库的启动与终止_详解MySQL数据库的启动与终止(一)

    由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样.你可以根据实际情况使用其中的一种.在你安装.升级或者维护系统时,你可能需要多次启动和终止服务器 ...

  10. mysql优化的几种方法_详解mysql数据库不同类型sql语句优化方法

    概述 分享一下之前笔记记录的一些不同类型sql语句优化方法,针对mysql. 主要分成优化INSERT语句.优化ORDER BY语句.优化GROUP BY 语句.优化嵌套查询.优化OR语句这几个方面, ...

最新文章

  1. java遍历栈_Java中使用StackWalker和Stream API进行堆栈遍历
  2. 2013/8月读书计划
  3. Python_类的特殊成员方法
  4. 工作失职的处理决定_员工工作失误处罚处理决定书范本(3篇)
  5. wordpress如何让百度快速收录_百度搜狗蜘蛛池让你的新网站内页快速收录
  6. 【1.0】忘记mysql 密码 如何修改之后
  7. Java多线程-线程的生命周期
  8. 前端开发常用又好用的几个软件
  9. 静态库与动态库的区别与优缺点
  10. 2万字软件测试面试题干货带答案,反手我就一个收藏
  11. 群晖(synology)日历与IPhone日历同步
  12. [SCOI2009]粉刷匠 两个dp
  13. CURL 发送请求详解
  14. git push/pull命令
  15. 四行代码秒解微积分!Python这个模块神了!
  16. jira是干什么_Jira 概述 | 产品、项目和托管 | Atlassian
  17. 2020 中信银行 软件开发中心 社招 8.23晚上在线笔试 进展讨论
  18. Flume-ng配置
  19. LC39 Combination Sum
  20. 强化学习中的递归神经网络

热门文章

  1. 浅谈种子搜索算法及C++实现方法
  2. 引擎优化的facebook中文网
  3. string的飞鸽传书字符串缓冲区
  4. 百度优化有感,原创内容只是个传说
  5. 飞鸽传书 v2.51 Build 320 多国语言版
  6. HOWTO:将 IOCTL 发送到筛选器驱动程序
  7. 经典面试题(29):以下代码将输出的结果是什么?
  8. hadoop3.0新特性介绍
  9. 这个热图上面的树是根据系统发育关系画的吗?
  10. 那个一年发4篇cell的研究生后来怎样了?