php中mysql有关函数

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() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。

例子

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die("Could not connect: " . mysql_error());
  }

mysql_select_db("mydb");
mysql_query("DELETE FROM mytable WHERE id < 5");
$rc = mysql_affected_rows();
echo "Records deleted: " . $rc;

mysql_close($con);
?>

输出:

Records deleted: 4

3.mysql_fetch_rows()函数从结果集中取得一行作为数字数组。

 语法

 mysql_fetch_rows(data)   data:必需。要使用的数据指针。该数据指针是从 mysql_query() 返回的结果。

   说明

    mysql_fetch_rows() 从和结果标识 data 关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。


    依次调用 mysql_fetch_rows() 将返回结果集中的下一行,如果没有更多行则返回 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_row($result));

mysql_close($con);
?>

输出:

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() 才能返回正确的值。

例子

<?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";
$result = mysql_query($sql,$con);
echo mysql_num_rows($result);

mysql_close($con);
?>

输出类似:

3

posted on 2015-12-24 15:44  技术渣  阅读(1444)  评论(0编辑  收藏  举报