php写一个数据库工具类
时间: 2024-05-16 15:16:14 浏览: 12
好的,以下是一个简单的 PHP 数据库工具类的代码:
```php
class DB {
private static $instance = NULL;
private static $dbhost = 'localhost';
private static $dbname = 'mydatabase';
private static $dbuser = 'myusername';
private static $dbpass = 'mypassword';
public static function getInstance() {
if (!isset(self::$instance)) {
try {
self::$instance = new PDO("mysql:host=".self::$dbhost.";dbname=".self::$dbname, self::$dbuser, self::$dbpass);
self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
}
return self::$instance;
}
public static function query($query, $params = array()) {
try {
$stmt = self::getInstance()->prepare($query);
$stmt->execute($params);
return $stmt;
} catch(PDOException $e) {
echo "Query failed: " . $e->getMessage();
}
}
public static function getRowCount($stmt) {
return $stmt->rowCount();
}
public static function getLastInsertId() {
return self::getInstance()->lastInsertId();
}
}
```
这个工具类使用了一个单例模式,确保只有一个数据库连接。它也使用了 PDO 来进行数据库操作,这个 PHP 扩展提供了一个简单的抽象层来访问不同类型的数据库。你需要将 `$dbhost`,`$dbname`,`$dbuser` 和 `$dbpass` 设为你自己的数据库信息,然后就可以使用这个工具类来进行数据库操作,例如:
```php
// 查询所有用户
$stmt = DB::query('SELECT * FROM users');
while ($row = $stmt->fetch()) {
echo $row['name'] . ' ' . $row['email'];
}
// 插入一条新的用户记录
$stmt = DB::query('INSERT INTO users (name, email) VALUES (?, ?)', array('John Doe', 'john@example.com'));
$newUserId = DB::getLastInsertId();
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)