家伙!我的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;
for 运算符中的 if 语句会为每个给定值返回false。当我回显时,每个用户名和密码都是这样的:
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;
回应我这个:
admin r 12345 o
admin r 12345 o
admin r 12345 o
我真的不知道问题出在哪里。 我非常感谢你的帮助。
答案 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++;
}
注意变量名称上缺少$。