PHP怎么弄数据库
时间 : 2023-04-02 21:44:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

PHP是一门广泛应用的后端开发语言,它能够与多种数据库进行交互以实现各种复杂的应用程序。在PHP中,可以使用MySQLi和PDO等扩展来访问数据库。下面我们将针对这两种扩展进行介绍:

1. MySQLi扩展

MySQLi(MySQL Improved)是PHP5中的MySQL扩展。它支持面向对象和面向过程的编程方式,并提供了一系列函数来实现与MySQL数据库的交互。

连接数据库

使用MySQLi扩展连接MySQL数据库时,需要传递以下参数:

- 主机名(默认为localhost)

- 用户名

- 密码

- 数据库名

示例:

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 创建连接

$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检测连接

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

执行SQL语句

接下来,我们可以使用MySQLi扩展的mysqli_query()函数来执行SQL语句。该函数需要传递两个参数:连接对象和SQL语句。

示例:

$sql = "SELECT * FROM mytable";

$result = mysqli_query($conn, $sql);

// 输出每行数据

while($row = mysqli_fetch_assoc($result)) {

echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";

}

关闭连接

最后,使用mysqli_close()函数关闭连接对象。

示例:

mysqli_close($conn);

2. PDO扩展

PDO(PHP Data Objects)是PHP5中另一个访问数据库的扩展。它提供了一组接口和方法来访问各种数据库,包括MySQL、PostgreSQL和Oracle等。

连接数据库

使用PDO扩展连接MySQL数据库时,也需要传递以下参数:

- 主机名(默认为localhost)

- 数据库名

- 用户名

- 密码

示例:

$servername = "localhost";

$dbname = "myDB";

$username = "username";

$password = "password";

// Set DSN

$dsn = "mysql:host=$servername;dbname=$dbname";

// 创建 PDO 实例

$conn = new PDO($dsn, $username, $password);

// 设置 PDO 错误模式为异常

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo "Connected successfully";

执行SQL语句

使用PDO扩展,我们可以通过调用PDO对象的query()方法来执行SQL语句。该方法接收SQL语句并返回PDOStatement对象。

示例:

$sql = "SELECT * FROM mytable";

$result = $conn->query($sql);

// 输出每行数据

while($row = $result->fetch(PDO::FETCH_ASSOC)) {

echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";

}

关闭连接

最后,使用PDO对象的null()方法断开与数据库的连接。

示例:

$conn = null;

总结

无论是使用MySQLi还是PDO扩展,PHP连接数据库的过程基本类似,都是先连接数据库,然后执行SQL语句,最后断开连接。在具体使用过程中,需要根据实际情况进行适当的调整。

PHP与数据库的交互可以使用各种方式,比如原始的mysql函数、MySQLi函数和PDO。这里我们介绍使用PDO与MySQL数据库交互。

1. 连接数据库

使用PDO连接数据库,需要传递四个参数: 数据库类型、主机地址、数据库名称和字符集。

// 配置信息

$dbms = 'mysql';

$host = 'localhost';

$dbName = 'test';

$user = 'root';

$pass = '';

$dsn = "$dbms:host=$host;dbname=$dbName;charset=utf8";

// 创建PDO实例

try {

$dbh = new PDO($dsn, $user, $pass);

} catch (PDOException $e) {

die('Connection failed: ' . $e->getMessage());

}

在这个例子中,我们使用PDO的构造函数创建一个PDO实例。成功连接到数据库后,变量$dbh便成为新的数据库连接。

2. 查询数据库

在发出查询请求之前,我们需要准备好SQL语句并将其绑定到PDOStatement对象上。PDO实例的prepare方法接受一条SQL查询语句,并将它编译成一个语句对象,供查询时使用。

// 准备查询

$stmt = $dbh->prepare("SELECT * FROM users WHERE name = :name");

// 绑定值并执行查询

$params = array(':name' => 'John');

$stmt->execute($params);

// 将结果集作为对象的形式返回

$result = $stmt->fetchAll(PDO::FETCH_OBJ);

在这个例子里,我们准备了一条查询语句,并使用PDO的prepare方法创建了一个语句对象。我们将查询中的占位符:name绑定到一个数组$params里面,这个数组提供了参数名与值之间的映射关系。最后我们使用语句对象的execute方法来执行查询,并将结果集保存在一个变量里面。

3. 插入数据

插入数据比查询操作稍微复杂一些。首先,我们需要准备一个插入语句并将需要插入的数据绑定到语句对象上。

// 准备插入

$stmt = $dbh->prepare("INSERT INTO users (name, age, email) VALUES (:name, :age, :email)");

// 绑定参数

$params = array(

':name' => 'John',

':age' => 25,

':email' => 'john@example.com'

);

// 执行插入操作

$stmt->execute($params);

在这个例子中,我们准备了一条插入语句,并将需要插入的数据绑定到语句对象上。这个过程与查询操作中类似。最后,我们使用语句对象的execute方法来执行插入操作。

4. 更新数据

更新数据的方式类似于插入数据。需要先准备一条更新语句,并将需要更新的数据绑定到语句对象上。

// 准备更新

$stmt = $dbh->prepare("UPDATE users SET age = :age WHERE name = :name");

// 绑定参数

$params = array(

':name' => 'John',

':age' => 30

);

// 执行更新操作

$stmt->execute($params);

在这个例子中,我们准备了一条更新语句,并将需要更新的数据绑定到语句对象上。最后我们使用语句对象的execute方法来执行更新操作。

5. 删除数据

删除数据的方法与更新数据类似。需要先准备一条删除语句,并将需要删除的条件绑定到语句对象上。

// 准备删除

$stmt = $dbh->prepare("DELETE FROM users WHERE name = :name");

// 绑定参数

$params = array(

':name' => 'John'

);

// 执行删除操作

$stmt->execute($params);

在这个例子中,我们准备了一条删除语句,并将需要删除的条件绑定到语句对象上。最后我们使用语句对象的execute方法来执行删除操作。

综上所述,我们使用PDO与MySQL数据库的交互包含以下几个步骤:连接数据库、查询数据库、插入数据、更新数据和删除数据。通过这些方法,我们可以轻松地使用PHP与MySQL数据库进行交互。