MySQL查询结果给出了错误的值

时间:2017-05-30 23:26:17

标签: php mysql

家伙!我的MySQL数据库出了问题。当我尝试访问字段时,它不会返回确切的值。这是代码。



<?php
  $host = "localhost";
	$user = "******";
	$pass = "******";
	$db = mysql_connect($host, $user, $pass) or die("Unable to connect. Check your connection parameters.");
	mysql_select_db("*****") or die("Unable to select database!");
  $form_username=$_POST["username"];
	$form_password=$_POST["password"];
	$query="
		SELECT username, password FROM users
	";
	$result=mysql_query($query,$db) or die("Unable to send the query".mysql_error());
	$index=0;
	while($row=mysql_fetch_row($result))
	{
		$username[$index]=row[0];
		$password[$index]=row[1];
		$index++;
	}
	
	for($i=0; $i<=$index; $i++)
	{
		if($form_username==$username[$i]&& $form_password==$password[$i])
		{
			session_start();
			$_SESSION["login"]="OK";
			header("Location: ************");
			die();
		}
	}
&#13;
&#13;
&#13;

for 运算符中的 if 语句会为每个给定值返回false。当我回显时,每个用户名和密码都是这样的:

&#13;
&#13;
echo $form_username." ".$username[0]." ".$form_password." ".$password[0]."<br>";
	echo $form_username." ".$username[1]." ".$form_password." ".$password[1]."<br>";
	echo $form_username." ".$username[2]." ".$form_password." ".$password[2]."<br>";
&#13;
&#13;
&#13;

回应我这个:

admin r 12345 o

admin r 12345 o

admin r 12345 o

我真的不知道问题出在哪里。 我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

这应该是这样的:

while($row=mysql_fetch_row($result))
{
    $username[$index]=row[0];
    $password[$index]=row[1];
    $index++;
}

读:

while($row=mysql_fetch_row($result))
{
    $username[$index] = $row[0];
    $password[$index] = $row[1];
    $index++;
}

注意变量名称上缺少$。