您好我目前使用PHP 5.3結合MySQL服務器5.1.61。 我目前正在嘗試做一個loginscript,但我遇到了問題 ,我得到沒有結果數據,也沒有錯誤消息。 處理該登錄的功能如下:PHP PDO導致沒有數據從mysql
public function doLogin($username,$pw)
{
$db=new incdb();
$row['name']=':username';
$row['value']=$username;
$row['type']=PDO::PARAM_STR;
$parameters[]=$row;
$row['name'] = ':password';
$row['value'] = $pw;
$row['type'] = PDO::PARAM_STR;
$parameters[] = $row;
$query=$db->execSql('SELECT * FROM tbUser WHERE '
.'username=:username AND password=MD5(:password)',$parameters);
unset($parameters);
unset($db);
$data=$query->fetch();
if (isset($data) && is_array($data))
{
$_SESSION['loggedIn']=$data['id'];
$_SESSION['loggedInData']=$data;
return 1;
}
else
{
echo 'error';
return 0;
}
}
的incdb類有execSql功能如下:
public function execSql($sql, $parameters)
{
$query=$this->pdo->prepare($sql);
foreach ($parameters as $param)
{
$query->bindParam($param['name'], $param['value'], $param['type']);
}
$query->execute();
return $query;
}
有人能告訴我,我做錯了什麼嗎? (我相對較新的使用PHP PDO ....在過去,我總是直接使用mysql函數)。 Tnx
你試過用'bindValue'替換'bindParam'嗎? – tftd