我是PHP的新手,只是在大学时一边玩它。我已经决定为魔兽世界制作一个公会网页,并且在围绕一些概念时遇到了问题。主要有以下几点。
$res=mysqli_query("SELECT userId, userName, userPass FROM users WHERE userEmail='$email'");
$row=mysqli_fetch_array($res);
$count = mysqli_num_rows($res);
据我所知,变量$ count应该是1。它连接到数据库ok,我的注册页面将详细信息添加到表中,所以我知道所有这些都有效。
为简单起见,数据库中只有1个条目。只有3列,userId userName和userPass。但由于某种原因,以下if语句返回false并执行else。
if($count == 1)
任何能够解释sql结果如何进入数组的人都可以吗?提前谢谢!
答案 0 :(得分:5)
如果您撰写的只有3列的内容正确无误,那么您的查询就会出现问题。
但是,您应该学习转储变量以查看它们实际包含的内容。这将帮助您调试代码。通过撰写$row
和var_dump($row);
来查看var_dump($count)
包含的内容。
如果如你所说,数据库中只有3列:userId
userName
和userPass
,那么userEmail
将无法获得任何匹配,因为那里没有列实际命名为userEmail
答案 1 :(得分:3)
当你使用mysqli时,你需要在第一个语句的开头定义连接 - 它应该是这样的:
$res=mysqli_query($conn,"SELECT userId, userName, userPass
FROM users WHERE userEmail='$email'");