1.mysql_query()一般是用来查询数据里面的数据。
如:
$username=$_POST["name"];
$sql="SELECT *FROM members where login_name = 'username'";
$result=mysql_query($sql);
以上程序是检测数据库中是否存在表单传送过来的用户名。
如果检测成功,$result是返回数据库中的匹配的记录,如果出错则$result为false。
需要注意的是,即使数据库中不存在查询的数据,检测也算成功,$result也不会是false.
所以,如果要检测数据库中是否有匹配记录就用语句mqsql_fetch_array()来判断。
$test=mqsql_fetch_array($result);
如果记录为空则$test为false。这样就达到了目的。
2.mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。
说明
取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
返回值
执行成功,则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。
当使用 UPDATE 查询,MySQL 不会将原值与新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。
例子
mysql_affected_rows()
输出:
Records deleted: 4
3.mysql_fetch_rows()函数从结果集中取得一行作为数字数组。
语法
mysql_fetch_rows(data) data:必需。要使用的数据指针。该数据指针是从 mysql_query() 返回的结果。
说明
mysql_fetch_rows() 从和结果标识 data 关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
依次调用 mysql_fetch_rows() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。
例子
mysql_fetch_row($result)
输出:
Array
(
[0] => Adams
[1] => John
[2] => London
)
4.mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
mysql_fetch_array()函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有,返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。
例子
<?php
$con = mysql_connect("localhost", "hello", "321");
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_array($result));
mysql_close($con);
?>
输出类似:
Array
(
[0] => Adams
[LastName] => Adams
[1] => John
[FirstName] => John
[2] => London
[City] => London
)
5.mysql_num_rows() 函数返回结果集中行的数目。
mysql_num_rows(data) data:必需。结果集。该结果集从 mysql_query() 的调用中得到。
mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()。
注释:如果使用 mysql_unbuffered_query(),则直到结果集中的所有行都被提取后 mysql_num_rows() 才能返回正确的值。
例子
mysql_num_rows($result)
输出类似:
3