0
私は単純なDB接続を作成しており、テストしているときは動作していません。 私は間違っていますか? ファイルデータベース:警告:mysqli_query()は、mysqli、nullで指定されたパラメータ1を受け取ります。
require_once("config.php");
class MySqlDatabase{
private $connection;
function __construct(){
$this->open_connection();
}
public function open_connection(){
$connection = mysqli_connect(DB_SERVER , DB_USER , DB_PASS , DB_NAME);
if(!$connection){
die("Database connection failed:" . mysqli_error($connection));
}
}
public function query($sql){
$result = mysqli_query($this->connection , $sql);
$this->confirm_query($result);
return $result;
}
private function confirm_query($result){
if(!$result){
die("Database query failed: ".mysqli_error($this->connection));
}
}
}
$database = new MySqlDatabase();
$db =& $database;
私は要求していたより作る:
if(isset ($database)) {echo"true";}else {echo "false";}
$sql ="INSERT INTO users (id, username, password, first_name, last_name)";
$sql .="VALUES (1,'olegsavchuk12','1111','Oleg','Savchuk')";
$result = $database->query($sql);
$sql = "SELECT * FROM users WHERE id=1";
$result_set = $database->query($sql);
$found_user = mysqli_fetch_all($result_set);
echo $found_user['username'];
そして、この警告を参照してください。 、さあ、あなたのコードを再投稿しましょうます$ this-> これだけ時間がます$ this->を追加:
'$ connection'ではなく' open_connection() 'の' $ this-> connection'です。 –
'$ db = $ database;'は、 '&' –
のマークバーを使用する必要はありません。あなたのアドバイスは正しい –