此代码循环遍历数据库中的内容数组,该数组搜索用户名变量对数据库中的用户名,当找到它应该从if else语句中断时。
<?php
while($row = mysql_fetch_array($resultSet, MYSQL_ASSOC))
{
if($username = $row['User_Name']){
echo "username found";
echo "Logged in as ", $Username;
break;
}
else
{
echo "not yet";
}
}
mysql_close($conn);
?>
</div>
我正在纠结这个错误:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in H:\STUDENT\S0190204\GGJ\Logon-process.php on line 36
答案 0 :(得分:1)
你在哪里
if($username = $row['User_Name']){
应该是
if($username == $row['User_Name']){
单个等于集合,双等于测试相等,三等于测试文字相等。
实际上,这不是方法,你应该包括
WHERE user_name = "$username"
在查询中而不是返回所有结果并循环。
答案 1 :(得分:1)
此
if($username = $row['User_Name']){
应该是
if ($username == $row['User_Name']){
然而,还有很多其他方法可以做到这一点......(例如上面的答案)
答案 2 :(得分:0)
你应该避免传递如此大的数据并在循环中搜索 - 这就是SQL。
您的查询应该看起来像:
"SELECT .... WHERE `User_Name` = ".mysql_real_escape_string($username)."...."