景初

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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操作产生的错误文本信息。如果没有出错,函数返回空字符串。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2014-04-29 10:21  景初  阅读(171)  评论(0编辑  收藏  举报