PHP操作mysql函数详解,mysql和php交互函数


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. 查询MySql
1) 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 <br>”;
}

注意,输出结果与使用的用户权限相关.
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
复制代码 代码如下:

<?php
$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 . “<br />\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 “<br />\n”;
$rowcount++; // rowcount 自增
$rs->MoveNext();
}
$rs->Close(); //关闭数据集
$conn->Close();
?>



相关阅读:
UCenter HOME数据调用技巧
初学java常用开发工具介绍
提供个 全免杀海洋2006asp木马 下载
Linux操作系统环境的个性化设置
教你快捷清除电脑中的垃圾
PHP 和 MySQL 开发的 8 个技巧
css 怎么清除浮动
在IE浏览器中resize事件执行多次的解决方法
相对完美的CSS绝对底部
页面中body onload 和 window.onload 冲突的问题的解决
在linux/unix上分析程序日志的技巧
制作Web电子表格的jQuery插件:jQuery.sheet
javascript面向对象之二 命名空间
企业版MySQL数据库
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 象山馄饨作文 罄竹难书的意思是什么.罄竹难书怎么读,罄竹难书造句和近义词 环保建议书800字 小学六年级作文700字:海边捉螃蟹 有关欢度国庆作文:有趣的国庆假日 同事女儿结婚贺词_朋友的女儿结婚贺词 下辈子我来爱你! “幽默乔”的那些事 校长在祝福祖国歌咏比赛开幕式上的致辞 春游见闻作文1000字 2014儿科护士年终工作总结 2015新郎感谢词 《紫眸唐暄》——紫眸 写给异地女朋友的一封信 寒假里印象深刻的一件事作文800字 作文 俺爹俺娘 教师节情思 小鸡过桥作文400字 心情日记,给自己一点点回忆,告诉自己曾经存在过,即使最后会忘记 拿什么去拯救你,我的足球啊……作文600字 春天的美丽早晨200字 闪亮的一刻作文800字 在经济普查领导小组会议上的讲话稿 句句入心好听的句子 百合浓情作文300字 情字 第一次整理 光雾山游记 七年级地理寒假作业 读《饥饿的冬季》有感作文600字 小学六年级作文550字:雨中一瞥 初中初一作文800字:在烦恼中成长(刘政府) 让青春在奉献中燃烧演讲稿 如何去爱 宣传部2010—2011学年第二学期工作计划 《你是我的敌人》读后感 夜游苏州护城河 羡慕你还在这里 花殇。『3』作文900字 品尝声音味道 人生不过是一场忍耐 第四季度客服工作总结 这就是成就别样的你的一条路 谈谈优雅转身 阳光般的母爱700字 这世琉璃,那世也梦境 岁月,文字,我 傲慢与偏见读后感英文版 送长辈的圣诞节祝福语 流星划过心空作文650字

Copyright © 2016 phpStudy |