复制PHP内容到剪贴板
PHP代码:
if($username && $password)
{
$db=new DB;
$db->connect(HOST,USER,PASS);
$db->select_db(DBNAME);
echo "处理后的NAME".$username;
echo "<br>处理后的密码".$password;
$sql= "SELECT * FROM reg WHERE user = '$username' AND pwd = '$password'";
$Result=$db->num_rows($sql);
var_dump($Result);
if ($Result)
{ //如果有符合的行数返回,那么就把变量注册到session
session_register('username');
session_register('password');
$_SESSION['isuser']=1;
echo ".";
} else {
ShowMsg("登录失败,请确认你的用户名、密码输入是正确的","javascript:history.go(-1)");
exit();
}
直接执行SQL语句没有问题,POST也传过来并显示了.
问题就处在 $Result=$db->num_rows($sql);
函数为
function num_rows($sql) {
$query = $this->query($sql);
$rs =& mysql_num_rows($query); //取得结果集中行的数目
return $rs;
}
我用var_dump的结果是int(0),请问我究竟该用什么函数?来实现我这个效果呢?
然后这是我故意打错的,这样我的类才会根据错误输出到页面上给大家看.
大家可以看到SQL语句已经变成了POST值的字符串.这样可以告诉一些朋友认为我POST没有传到该页面.
然后是正确SQL语句$sql= "SELECT * FROM reg WHERE user = '$username' AND pwd = '$password' LIMIT 0 , 1";的运行结果.
注意那个int(0)是var_dump的输出
已解决~
不过如果你能够不看最后一楼我的回帖而找出原因,那你自我就错能力也不错了!
其实我是给忘了...
[
本帖最后由 konakona 于 2008-8-20 20:58 编辑 ]