1、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,
2、如下: $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 passwor
3、d) 与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_
4、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 ,mixe
5、d 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
6、 = mysql_result($result, 0, id); $name = mysql_result($result, 0, name); mysql_close(); 注意,上述代码只是输出结果集中的第一条数据的字段值,如果要输出所有记录,需要循环处理. . for ($i = 0; $i 字段值 MYSQL_NUM:返回数值索引数组. MYSQL_BOTH:获取两种数组.因此每个字段可以按索引偏移引用,也可以按字段名引用. 举例: . $query = select id, name from product order by name; $result = mysql_query(
7、$query); while($row = mysql_fetch_array($result, MYSQL_BOTH) $name = $rowname;/或者 $name = $row1; $name = $rowid;/或者 $name = $row0; 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() obje
8、ct 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)
9、 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查询影响的记录数 注意,不需要输入参数,默认使用最近建立的数据库
10、连接的最近结果.可以使用可选参数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(res
11、ource 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中
12、位置为index的表名. 在学习PHP的COM 和 .Net(Windows)函数的时候,发现了一个通过COM操作SQL SERVER的例子,查找了相关的资料,于是就有了这篇PHP连接ACCESS的文章,相信网上已经很多了,还是贴在这里吧。我的机器环境:WIN2000,APACHE2,PHP Version 5.1.0RC1Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:php5netBook.mdb); $rs = $conn-Execute(select * from manage); / 记录集 $num_columns = $rs-Fields-Count(); echo $num_columns . n; for ($i=0; $i Fields($i); $rowcount = 0; while (!$rs-EOF) for ($i=0; $i value) . t; echo n; $rowcount+; / rowcount 自增 $rs-MoveNext(); $rs-Close(); /关闭数据集$conn-Close(); ?