以下は正常に動作するコードですが、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 ではそれほど機能しません。フォームにログインしようとすると、エラーが表示されず、次のページに進むこともありません。そのため、このビットが問題であることがわかります