どうやら私のデータベース関数はデータベースをフェッチできませんか?
警告:mysqli :: real_escape_string():データベースをフェッチできませんでした
MySQLiを拡張するカスタムデータベースクラスを作成しました。
これが私がそれを構築している方法です。
public function __construct(){
$db = new mysqli(
DB_HOST, DB_USER, DB_PASS, DB_NAME);
$db->select_db(DB_NAME);
return $db;
}
私はデータベースを選択していますね。
これが起こっているコードはここにあります:
private static function readSession($sessionId)
{
global $database;
$sessionId = session_id();
$sessionId = $database->real_escape_string($sessionId);
$time = time();
$result = $database->query("SELECT sessiondata FROM sessions WHERE sessionid='$sessionId' AND expiry > $time");
if ($result->num_rows > 0) {
$row = $result->fetch_array();
return $row['sessiondata'];
}
return "";
}
データベースは、セッション管理関数が呼び出される前に開始されています。