PHP MySQL 操作类是一种封装了 MySQL 数据库连接、查询、插入、更新和删除等操作的类。通过使用这样的类,可以简化数据库操作,提高代码的可读性和可维护性。
常见的 PHP MySQL 操作类有以下几种类型:
以下是一个基于 PDO 的 PHP MySQL 操作类的示例:
<?php
class MySQLDB {
private $host = "localhost";
private $username = "root";
private $password = "";
private $dbname = "testdb";
private $conn;
public function __construct() {
try {
$this->conn = new PDO("mysql:host=$this->host;dbname=$this->dbname", $this->username, $this->password);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
}
public function query($sql) {
try {
$stmt = $this->conn->query($sql);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
echo "Query failed: " . $e->getMessage();
}
}
public function insert($table, $data) {
$keys = implode(', ', array_keys($data));
$values = ':' . implode(', :', array_keys($data));
$sql = "INSERT INTO $table ($keys) VALUES ($values)";
try {
$stmt = $this->conn->prepare($sql);
$stmt->execute($data);
return $this->conn->lastInsertId();
} catch (PDOException $e) {
echo "Insert failed: " . $e->getMessage();
}
}
public function update($table, $data, $where) {
$set = '';
foreach ($data as $key => $value) {
$set .= "$key = :$key,";
}
$set = rtrim($set, ',');
$sql = "UPDATE $table SET $set WHERE $where";
try {
$stmt = $this->conn->prepare($sql);
$stmt->execute($data);
return $stmt->rowCount();
} catch (PDOException $e) {
echo "Update failed: " . $e->getMessage();
}
}
public function delete($table, $where) {
$sql = "DELETE FROM $table WHERE $where";
try {
$stmt = $this->conn->prepare($sql);
$stmt->execute();
return $stmt->rowCount();
} catch (PDOException $e) {
echo "Delete failed: " . $e->getMessage();
}
}
public function __destruct() {
$this->conn = null;
}
}
// 使用示例
$db = new MySQLDB();
$data = ['name' => 'John', 'age' => 30];
$db->insert('users', $data);
$results = $db->query("SELECT * FROM users");
print_r($results);
?>
通过以上内容,你应该对 PHP MySQL 操作类有了全面的了解,并能解决一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云