【发布时间】:2012-10-03 12:58:58
【问题描述】:
您好,我目前正在将 php 5.3 与 mysql 服务器 5.1.61 结合使用。 我目前正在尝试做一个登录脚本,但我遇到了问题 我没有得到任何结果数据,也没有错误消息。 处理登录的函数如下:
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 函数)。天呐
【问题讨论】:
-
你试过用
bindValue替换bindParam吗?