Web サイト用の mysqli クラスを作成していますが、行き詰まっています。
これは私のクラスです:
class Database {
private $mysqli = '';
private $params = '';
private $result = '';
function Database($hostname, $username, $password, $database) {
$this->mysqli = new mysqli($hostname, $username, $password, $database);
if ($this->mysqli->connect_errno) {
printf('Error #%s -> %s', $this->mysqli->connect_errno, $this->mysqli->connect_error);
exit;
}
}
public function setQuery($query) {
$this->result = $this->mysqli->prepare($query);
$this->params = array();
return $this;
}
public function setParam($type, $value) {
$this->params[$type] = $value;
return $this;
}
public function execute() {
$params = $this->params;
foreach ($params as $key => $value) {
$this->result->bind_param($key, $value);
}
$user = $this->result->result_metadata()->fetch_assoc();
echo $user['username'];
}
}
私は使用しています:
Core::$database->setQuery('SELECT * FROM habbo_characters WHERE id = ?')->setParam('i', 1)->execute();
しかし、出力として出力/空の文字列が得られませんでした。私が間違っているのは何ですか?setParam 関数は正しく動作しますが、そうではありません。そして、ID 1 (SQL) のユーザーが含まれています。