我的问题是关于我的代码。我创建了 2 个网站。但它在 mysqli PHP OOP 上。有人告诉我,这些查询是 SQL 注入。所以,我想改变我的数据库结构来准备报表。然后,我可以从 SQL 注入中保存我的网站。为此,我需要你的帮助。 这是我的数据库结构:
config.php
<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "lunch");
?>
数据库.php
<?php
$filepath = realpath(dirname(__FILE__));
include_once ($filepath.'/../config/config.php');
?>
<?php
Class Database {
public $host = DB_HOST;
public $user = DB_USER;
public $pass = DB_PASS;
public $dbname = DB_NAME;
public $link;
public $error;
public function __construct() {
$this->connectDB();
}
private function connectDB() {
$this->link = new mysqli($this->host, $this->user, $this->pass, $this->dbname);
if (!$this->link) {
$this->error = "Connection fail" . $this->link->connect_error;
return false;
}
}
public function select($query) {
$result = $this->link->query($query) or
die($this->link->error . __LINE__);
if ($result->num_rows > 0) {
return $result;
} else {
return false;
}
}
public function insert($query) {
$insert_row = $this->link->query($query) or
die($this->link->error . __LINE__);
if ($insert_row) {
return $insert_row;
} else {
return false;
}
}
public function update($query) {
$update_row = $this->link->query($query) or
die($this->link->error . __LINE__);
if ($update_row) {
return $update_row;
} else {
return false;
}
}
public function delete($query) {
$delete_row = $this->link->query($query) or
die($this->link->error . __LINE__);
if ($delete_row) {
return $delete_row;
} else {
return false;
}
}
}
?>
因此,请检查我的数据库结构和查询,并告诉我如何更改我的数据库结构以准备语句以及如何防止 SQL 注入。请帮我。
ABOUTYOU