当前位置:编程学习 > php >>

php的问题

$sql="select * from biao";
$rs=mysql_query($sql);
请问这个$rs中存的到底是什么
可以通过mysql_num_rows($rs)判断有多少条行
但是缺不能进行if($re)判断,真晕啊 谢谢了
追问:谢谢 我好好看看
答案:
你现在的$rs只是得到的结果集的一个句柄,你不能直接对它进行操作,必须要用php的函数对它进行操作
mysql_num_rows()这就是php函数.作用是:查询所影响到的行的数目
那么你要做其它的操作.就需要其它的函数.如我们长用的mysql_fetch_array()
mysql_fetch_array($rs) 取得一行结果数据并作为数组返回 这样我们就可以进行其它的操作了
下面我给你写一个例子吧:

<?php
$a=$_POST['name']; //传过来的帐号,这是从html登陆页表单传来的
$b=$_POST['pwd']; //传过来的密码,这是从html登陆页表单传来的
$conn = mysql_connect("localhost","数据库登陆名","数据库登陆密码"); //登陆数据库
$db = mysql_select_db("数据库名"); //链接数据库
$sql = "SELECT * FROM 用户表 where 帐号字段='$a'"; //sql语句,意思是查询用户表等于$a的帐号
$query = mysql_query($sql); //实列化sql语句
$num = mysql_num_rows($query); //得到等于$a的帐号条数
$row = mysql_fetch_array($query); //得到符合sql语句查出来的1条结果集
if($num>0) //说明帐号存在
{
if($b==$row['pwd']) //说明密码符合这个帐号
{
echo "<script language=javascript>alert('登陆成功');location.href=> }
else //说明密码不符合这个帐号
{
echo "密码错误";
}
}
else //帐号不存在
{
echo '用户名不存在';
}
?>
这个rs是个资源句柄,相当于一个存了查询结果数组地址的指针
用if($re)可以判断吧。。如果mysql_query执行错误的话,会返回false。。也就是说只要mysql_query返回的不是false,就说明sql执行了。 而mysql_affected_rows函数可以判断你的sql影响了几条,你可以根据你的sql,使用mysql_affected_rows来判断执行的结果。。。

上一个:PHP语言入门
下一个:php符号问题?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,