PHP中mysql_query()、mysql_num_rows()、mysql_fetch_assoc()等的使用

来源:互联网 发布:社区矫正软件下载 编辑:程序博客网 时间:2024/06/11 10:33

初学PHP,下面是自己的总结和理解,若有错的地方希望大家指正。
1. myql_query()
mysql_query()是指执行PHP中一条MySQL查询,仅对SELECT,SHOW,EXPLAINDESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE,并不能获得mysql查询的内容。通常mysql_query()会和mysql_num_rows(),mysql_fetch_assoc等配合使用。

2.mysql_num_rows()
mysql_num_rows() 返回结果集中行的数目。此命令仅对SELECT语句有效。要取得被 INSERT,UPDATE或者DELETE 查询所影响到的行的数目,用mysql_affected_rows()。

3.mysql_fetch_assoc(),mysql_fetch_array()
mysql_fetch_assoc()语法mysql_fetch_assoc(data),其中data是必须要使用的从mysql_query()返回的数据结果.它从结果集中取得一行作为关联数组。可用print_r将其打印出来查看如下:

<?php$con = mysql_connect("localhost", "root", "");if (!$con){  die('Could not connect: ' . mysql_error()); }$db_selected = mysql_select_db("test_db",$con);$sql = "SELECT * FROM Person WHERE Lastname='Adams'";$result = mysql_query($sql,$con);print_r(mysql_fetch_assoc($result));mysql_close($con);?>/*结果如下:Array([LastName] => Adams[FirstName] => John[City] => London) */

mysql_fetch_array()和上面一个有相似之处,语法mysql_fetch_array(data,array_type),其中data和array_type都是可写可不写的,看自己的需要,它从结果集中取得一行作为关联数组,或数字数组,或二者兼有,返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
将上面例子中
print_r(mysql_fetch_assoc($result))改为

print_r(mysql_fetch_assoc($result))
结果如下:

Array([0] => Adams[LastName] => Adams[1] => John[FirstName] => John[2] => London[City] => London) 

注意:array_type有三种不同的模式:
MYSQL_ASSOC - 关联数组//它产生的数组是和mysql_fetch_assoc()相同的。
MYSQL_NUM - 数字数组
MYSQL_BOTH - 默认。同时产生关联和数字数组

1 0