下面是一些运行良好的代码,但是它使用了 mysql_*,我不再想要了。我试图在 mysqli 中重做这一部分,但它不起作用。如果您愿意,我可以发布我的整个代码,但我确定我知道问题出在哪里。下面是代码:
老的:
public function verifyDatabase()
{
include('dbConfig.php');
$data = mysql_query("SELECT client_id FROM clients WHERE client_email_address = '{$this->_username}' AND client_password = '{$this->_pass_sha1}'");
if(mysql_num_rows($data))
{
list($this->_id) = @array_values(mysql_fetch_assoc($data));
return true;
}
else
{
return false;
}
}
新的:
public function verifyDatabase()
{
include('dbConfig.php');
$data = $db->prepare("SELECT client_id FROM clients WHERE client_email_address = ? AND client_password = ? LIMIT 1");
$data->bind_param($this->_username, $this->_pass_sha1);
$data->execute();
$data->store_result();
if($data->num_rows)
{
list($this->_id) = @array_values($data->fetch());
return true;
}
else
{
return false;
}
}
我还在学习 mysqli,还没有为 PDO 的东西做好准备,因为我发现这有点令人困惑。正如我所说,这整个脚本与 mysql_* 完美配合,但与 mysqli 配合得不太好。当我尝试登录时,我的表单没有显示任何错误,也没有推送到下一页,所以我知道这就是问题所在