一、概述
编写一个php类,用于连接mysql数据库。
二、连接mysql
连接mysql数据库,主要需要三个参数:主机名,用户名,密码。
使用mysqli类进行连接mysql数据库,实例化mysqli类需要以下参数:
- 主机名
- 用户名
- 密码
- 数据库名
- 端口号
代码如下:
```php
class Db
{
private static $instance;
private $mysqli;
private function __construct()
{
$this->mysqli = new mysqli('localhost', 'root', '123456', 'test', '3306');
if ($this->mysqli->connect_error) {
die('连接失败:' . $this->mysqli->connect_error);
}
}
public static function getInstance()
{
if (!self::$instance) {
self::$instance = new self();
}
return self::$instance;
}
public function select($sql)
{
$result = $this->mysqli->query($sql);
if (!$result) {
die('查询失败:' . $this->mysqli->error);
}
return $result;
}
public function affectedRows()
{
return $this->mysqli->affected_rows;
}
public function insertId()
{
return $this->mysqli->insert_id;
}
public function query($sql)
{
$result = $this->mysqli->query($sql);
if (!$result) {
die('操作失败:' . $this->mysqli->error);
}
return $result;
}
public function escapeString($str)
{
return $this->mysqli->real_escape_string($str);
}
public function __destruct()
{
$this->mysqli->close();
}
}
```
三、使用方法
通过getInstance方法获取一个实例,通过实例调用select、insert、update、delete等方法进行数据库操作。
```php
$db = Db::getInstance();
$sql = "SELECT * FROM tb_user";
$result = $db->select($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - 姓名: " . $row["name"]. " - 年龄: " . $row["age"]. "";
}
}
else {
echo "没有结果";
}
```
四、总结
使用php类库可以方便地进行mysql数据库连接,使得数据库操作更加便捷。