我一直在尝试超过5个小时来理解为什么我的查询没有返回我的数据库值,我已经使用不同的查询进行测试以返回我的_iD,这取决于我的用户ID并且我能够连接但是我对此我很难过......我一直在...... 我不会问我是不是被严重困住了。
注意:未定义的变量:第5行的_iPassword
注意:未定义的变量:第8行的_iUsername
public function User_Login($_iUsername,$_iPassword) {
$md5_password = md5($_iPassword);
$sth = $db->prepare("SELECT _iD FROM users WHERE _iUsername = :username AND _iPassword = :password AND _iStatus = 1");
$sth->bindValue(":username", $_iUsername, PDO::PARAM_STR);
$sth->bindValue(":password", $md5_password, PDO::PARAM_STR);
$sth->execute();
if ($sth->rowCount() == 1) {
$row = $sth->fetch(PDO::FETCH_ASSOC);
return $row['_iD'];
} else {
return false;
}
}
这是我正在转换的MySQL中的查询,但我不知道会出现什么问题......
public function User_Login($username,$password) {
$username=mysql_real_escape_string($username);
$password=mysql_real_escape_string($password);
$md5_password=md5($password);
$query=mysql_query("SELECT uid FROM users WHERE username='$username' and password='$md5_password' AND status='1'");
if( mysql_num_rows( $query ) == 1 ) {
$row = mysql_fetch_array( $query );
return $row['uid'];
} else {
return false;
}
}
答案 0 :(得分:4)
由于某种原因,您从错误消息中省略了文件名,而它将成为关键部分。
$sth->bindValue(":username", $_iUsername, PDO::PARAM_STR);
$sth->bindValue(":password", $md5_password, PDO::PARAM_STR);
行不能是第5行和第8行,因为它们显然是连续的,并且从脚本开头有超过5行。
因此,要么在其他任何文件中发生此错误,要么您正在编辑一个文件但是正在运行另一个文件。
请仔细检查所有这些简单的错字错误,当然你会发现问题