能帮我写一个php的mysqli封装类库吗
时间: 2024-02-25 18:58:34 浏览: 64
php封装的mysqli完整类库
当然可以,以下是一个简单的 PHP mysqli 封装类库的示例代码:
```php
class Database {
private $host = "localhost";
private $username = "username";
private $password = "password";
private $database = "database";
private $conn;
public function __construct() {
$this->conn = new mysqli($this->host, $this->username, $this->password, $this->database);
if ($this->conn->connect_error) {
die("Connection failed: " . $this->conn->connect_error);
}
}
public function query($sql) {
$result = $this->conn->query($sql);
if (!$result) {
die("Query failed: " . $this->conn->error);
}
return $result;
}
public function escape($value) {
return $this->conn->real_escape_string($value);
}
public function __destruct() {
$this->conn->close();
}
}
```
这个类库包含四个方法:
- `__construct()`: 连接到数据库。
- `query($sql)`: 执行 SQL 查询并返回结果。
- `escape($value)`: 对字符串进行转义以避免 SQL 注入攻击。
- `__destruct()`: 关闭数据库连接。
你可以使用这个类库来执行查询,例如:
```php
$db = new Database();
$username = $db->escape($_POST['username']);
$password = $db->escape($_POST['password']);
$sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = $db->query($sql);
```
请注意,为了避免 SQL 注入攻击,应该使用 `escape()` 方法对所有用户输入的值进行转义。
阅读全文