伙计!我遇到了我的MySQL数据库问题。当我尝试访问这些字段时,它不会返回确切的值。这是代码。MySQL查询结果给出错误的值
<?php
$host = "localhost";
\t $user = "******";
\t $pass = "******";
\t $db = mysql_connect($host, $user, $pass) or die("Unable to connect. Check your connection parameters.");
\t mysql_select_db("*****") or die("Unable to select database!");
$form_username=$_POST["username"];
\t $form_password=$_POST["password"];
\t $query="
\t \t SELECT username, password FROM users
\t ";
\t $result=mysql_query($query,$db) or die("Unable to send the query".mysql_error());
\t $index=0;
\t while($row=mysql_fetch_row($result))
\t {
\t \t $username[$index]=row[0];
\t \t $password[$index]=row[1];
\t \t $index++;
\t }
\t
\t for($i=0; $i<=$index; $i++)
\t {
\t \t if($form_username==$username[$i]&& $form_password==$password[$i])
\t \t {
\t \t \t session_start();
\t \t \t $_SESSION["login"]="OK";
\t \t \t header("Location: ************");
\t \t \t die();
\t \t }
\t }
的为运营商内部的如果语句返回每一个给定值false。当我呼应这样每一个用户名和密码:
echo $form_username." ".$username[0]." ".$form_password." ".$password[0]."<br>";
\t echo $form_username." ".$username[1]." ".$form_password." ".$password[1]."<br>";
\t echo $form_username." ".$username[2]." ".$form_password." ".$password[2]."<br>";
它呼应我:
管理[R 12345Ø
管理[R 12345Ø
admin r 12345
我真的不知道问题出在哪里。 我会非常感谢你的帮助。
mysql_ *函数已弃用,请使用PDO或MySQLi。您以明文形式存储密码,他们需要安全散列。我相信,如果有机会,你也会受到SQL注入的攻击,所以请仔细查看。 – Enstage
你应该得到一个'未定义的行常量'的错误 –