PDO bindValue()関数で問題が発生しました。私がそれを使用しているように見えるときはいつでも、私のクエリは常に0の結果を返します。ただし、bindValue()を使用せずに$userと$passをSQLに直接配置すると、正常に機能します。
$userは文字列
です$passwordはsha1()ハッシュです
public function login($user, $pass) {
global $CMS;
$sql = "SELECT `username,`password` FROM `" . TB_PREFIX . "users` WHERE `username` = ':user' AND `password` = ':pass'";
$query = $CMS->prepare_query($sql);
$query->bindValue(':user', $user, PDO::PARAM_STR);
$query->bindValue(':pass', $pass, PDO::PARAM_STR);
$query->execute();
# User successfully authenticated
if ($query->rowCount() == 1) {
# Get all data from DB and populate class variables
self::populate_user_data($user);
session_register($user . "-" . base64_encode($_SERVER['REMOTE_ADDR']));
return true;
}
# User failed authentication
return false;
}