您的位置:首页 > 编程语言 > PHP开发

php操作mysql数据库

2013-10-22 22:04 211 查看
在php操作数据库过,会频繁对数据库进行各种操作,所以,php提供函数接口,很好的支持了对各种数据库的支持,包括MySql数据库。 php函数接口,事实上是对sql语句的分装


1.数据库的连接

要使用数据库,首先需要连接数据库,链接命令为

mysql_connect(servername, user, password);

servername 为服务器名,可选项,默认为 localhost:3306;
user 是用户名,可选,默认拥有服务器进程的用户名;
pasword 规定登录所用的密码,可选,默认是"";

<?php
$con=mysql("localhost","root","password");
if($con)
{
die("couldn't connect!");
}
//使用结束后,关闭链接
mysql_close($con);
?>

另外可以用mysql_pconnect([host][:port][user][password]),此函数与mysql_connect函数功能基本相同,区别在于:

1. 当数据库操作结束后,由mysql_connect函数建立的连接将自动关闭, 而mysql_pconnect函数建立的连接将继续存在,是一种稳固持久的连接。

2. 使用mysql_pconnect函数进行连接时,每次连接前,都会检查是否有使用同样的hostname、user和password的连接,如果有,则直接使用这个连接号。

3. 函数mysql_connect建立的连接可以用mysql_close函数关闭,而mysql_pconnect 函数建立的连接则不能用mysql_close函数来关闭。

2.向mysql传送查询/命令

mysql_query(query,connection) 用于向mysql传递查询或命令 connection 可选,如果为空,则试图创建一个参数为空的链接。假定查询成功,可以调用 mysql_num_rows() 来查看对应于
SELECT 语句返回了多少行,或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE
或 UPDATE 语句影响到了多少行。仅对 SELECT,SHOW,DESCRIBE 或 EXPLAIN 语句 mysql_query() 才会返回一个新的结果标识符,可以将其传递给 mysql_fetch_array() 和其它处理结果表的函数。处理完结果集后可以通过调用 mysql_free_result() 来释放与之关联的资源,尽管脚本执行完毕后会自动释放内存,执行不正确则返回false。对其他执行返回true,不执行返回false。

3.选择数据库

在创建表之前,必须首先选择数据库。通过 mysql_select_db($sql,$con) 函数选取数据库。

4.返回结果处理函数

1)mysql_num_rows() (查询结果指针) 返回查询结果集中行的数目。
2)mysql_affected_rows() 返回一次mysql操作对数据库影响的记录行数 (用于update、delete、insert、replace)
3)mysql_num_fields() (查询结果指针)返回查询结果集中字段的数目。

5.遍历查询记录集

mysql_fetch_array()、mysql_fetch_row、mysql_fetch_assoc区别:三者都可以从结果集中提取一行记录返回。mysql_fetch_array()提取的结果既可以通过索引访问,也可以通过关键字访问;而mysql_fetch_row提取的结果只能通过索引访问、mysql_fetch_assoc提取的结果只能通过关键字访问。

6.错误处理函数

1)mysql_errno(字样标示符) 返回上一个mysql操作中的错误信息数字编码
2)mysql_error() 返回上一个mysql操作的文本错误信息。

7.web数据库原理

浏览器<---->服务器<------>PHP引擎<------->mysql数据库
过程如下:
1)用户通过浏览器向服务器放松一个http请求,请求一个web文件;
2)服务器接收到web请求,获取该文件,并把该web文件传送给php引擎;
3)php开始解析脚本,其中有一条SQL查询,包含链接数据库的命令和查询语句,php打开通向mysql的连接,并发送查询;
4)数据库接受查询并处理,把查询的结果传递给php引擎;
5)php引擎接受结果,完成脚本,输出html;
6)服务器把html格式文件发送给浏览器。

从php向mysql查询过程中,php的mysql_query()函数只启传递的作用,而不是主要的存取指令操作。php并不是mysql的内建操作,操作数据库只有用SQL指令。mysql_query()可以传递各种sql语法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: