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

PHP从零单排(十一)操作MySQL的PHP函数 分类: PHP 2014-04-29 10:21 152人阅读 评论(0) 收藏

2014-04-29 10:21 399 查看
1.连接和关闭数据库的函数

在用PHP执行具有MySQL操作之前,首先要让PHP程序连接到一个MySQL数据库服务器。这一步骤类似于使用提示符登录MySQL。PHP提供函数mysql_connect()打开一个到MySQL服务器的连接,该函数的语法如下所示。

mysql_connect (string $server,string $user_name,string $password,[bool $new_link,int $client_type]);
函数mysql_connect()有5个参数:

第一个参数$server代表要连接的MySQL数据库服务器,可以给这个参数附加端口号。

第二个参数$user_name是连接MySQL服务器的用户名。

第三个参数$password就是该用户所使用的密码。

第四个参数$new_link是可选的,它表示是否在下次使用相同的参数调用mysql_connect()时,建立一个与MySQL的新的连接,该参数是BOOL型变量。

第五个参数$client_type表示客户端连接MySQL服务器的类型,这个参数在实际应用中使用的比较少。

如果成功建立了一个到MySQL服务器的连接,该函数会返回一个MySQL连接标识符,否则他会返回FALSE。

这行代码以用户名root、密码user_pass连接本地(localhost)的MySQL数据库服务器,如果连接建立成功,$conn就代表了对MySQL数据库的建立成功,$conn就代表了对MySQL数据库的连接。=事实上,函数mysql_connect()的5个参数全部是可选的。因为在php.ini文件中可以设置这些参数的默认值,例如mysql.default_host用来设置默认的MySQL服务器。如果php.ini文件中没有指定这些参数的默认值,那么在调用mysql_connect()时必须为其指定参数。==

PHP完成对数据库的操作和管理之后,需要在程序中关闭已建立的数据库连接。使用函数mysql_close()可以关闭一个已经建立的连接,该函数语法如下:

bool mysql_close ([resource $link]);
函数my_sql()关闭连接符$link指定的MySQL连接。如果连接$link关闭成功,该函数返回TRUE,否则返回FALSE。通常PHP脚本执行结束后,到MySQL数据库的连接就会关闭,除非之前明确调用了函数mysql_close()。

2.执行SQL语句的函数

函数mysql_query()在当前已建立连接的数据库中,执行一条SQL语句,该函数的语法如下所示

mysql_query(string $sql);
参数$sql是一个SQL语句字符串,该语句可以不以分号结尾。该函数执行成功,会返回一个资源标识符,失败时返回FALSE。

函数mysql_query()仅对SHOW、SELECT、DESCRIBE等语句返回一个资源标识,对于其他SQL语句,mysql_query()在执行成功时返回TRUE,出错时返回FALSE。如果查询一个当前连接用户没有权限管理的表,mysql_query()也会返回FALSE。

3.处理查询结果集的函数

在PHP程序应用中,当一个SQL语句执行完毕后,通常需要对查询的结果集做处理,以满足WEB应用的需要。处理数据结果集的PHP函数主要有以下几个。

函数mysql_affected_rows(),取得前一次MySQL操作所影响的记录行数。如果函数执行成功,返回上一次SQL语句执行所影响的行数,否则返回-1。

函数mysql_fetch_row($result),参数$result是执行mysql_query()之后返回的资源标识符。该函数从查询结果集中返回一行数据。该函数返回值是一个数组,其中每个元素对应一行结果记录的字段值。依次调用该函数可以返回结果集中的下一行,如果没有更多行,函数返回FALSE。

函数mysql_fetch_array($result,$type),参数$result是执行mysql_query()之后返回的资源标识符。该函数从结果集中返回一行作为关联数组,或普通数组,或二者兼有。第二个参数$type用来指定返回数组的类型,他的值可以是:MYSQL_ASSOC(返回关联数组)、MYSQL_NUM(普通数组)和MYSQL_BOTH(两种数组类型兼有)。实际应用中,通常使用该函数取得记录个字段的值。

函数msql_fetch_assoc($result),与函数mysql_fetch_array()类似,只不过该函数只将结果集作为关联数组返回。

4.获取字段信息的函数

函数mysql_fetch_field()可以取得结果集的字段信息,并将其作为对象返回。该函数的语法如下所示

object mysql_fetch_field($result [, int field_offset]);

参数$result是执行mysql_query()之后返回的资源标识符。可选参数$field_offset用来指定字段偏移量,如果没有指定该参数,函数mysql_fetch_field()将获取下一个取得的字段。函数mysql_fetch_field()返回一个对象,其属性存储了字段信息,该对象的属性如下所示。

name:字段名

table:该字段所在的表名

max_length:该字段最大长度

not_null:如果该属性值为1,表示该字段不能为NULL

primary_key:如果该属性值为1,表示字段列是primarykey

unique_key:如果该属性值为1,表示该字段是uniquekey

multiple_key:如果该属性值为1,表示该字段是non-uniquekey

numeric:如果该属性值为1,表示该字段是numeric

blob:如果该属性值为1,表示该字段是BLOB

type:该字段的类型

unsigned:如果该属性值为1,表示该字段是无符号数

zerofill:如果该属性值为1,表示该字段填充0

5.数据库操作的其他函数

mysql_select_db($database):连接上MySQL数据库之后,可以使用该函数选择一个数据库,参数$database表示要选择的数据库名称

mysql_num_rows($result):用来取得结果集的行数目,即结果集中的记录数。参数$result是执行mysql_query()之后返回的资源标识符。不过,该函数仅对SELECT语句有效,要取得INSERT、UPDATE或DELETE语句执行后所影响的行的数据,需要使用函数mysql_affected_rows()。

mysql_error():返回最近一次MySQL操作产生的错误文本信息。如果没有出错,函数返回空字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐