PHP 数据库操作示例:连接、读取、插入、修改、写入
PHP 数据库操作示例:连接、读取、插入、修改、写入
本篇博客提供了一些 PHP 代码示例,演示如何使用 mysqli 连接数据库并进行基本的数据库操作,包括读取、插入、修改和写入。代码示例包含详细的注释,并使用单独的 config.php 文件存储数据库配置信息,方便管理和维护。
一、 数据库配置 (config.php)
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'your_username');
define('DB_PASSWORD', 'your_password');
define('DB_NAME', 'your_database_name');
?>
二、 连接数据库
<?php
// 引入数据库配置文件
require_once('config.php');
// 建立数据库连接
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// 检查连接是否成功
if (!$conn) {
die('连接数据库失败:' . mysqli_connect_error());
}
?>
三、 读取数据库
<?php
// 引入数据库配置文件
require_once('config.php');
// 建立数据库连接
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// 检查连接是否成功
if (!$conn) {
die('连接数据库失败:' . mysqli_connect_error());
}
// 查询数据库
$sql = 'SELECT * FROM users';
$result = mysqli_query($conn, $sql);
// 检查查询结果
if (mysqli_num_rows($result) > 0) {
// 输出数据
while ($row = mysqli_fetch_assoc($result)) {
echo 'id: ' . $row['id'] . ' - Name: ' . $row['name'] . ' - Email: ' . $row['email'] . '<br>';
}
} else {
echo '没有查询到数据。';
}
// 关闭数据库连接
mysqli_close($conn);
?>
注释:
require_once('config.php');:引入数据库配置文件。$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);:建立数据库连接。if (!$conn) {...}:检查连接是否成功。$sql = 'SELECT * FROM users';:查询数据库。$result = mysqli_query($conn, $sql);:执行查询。if (mysqli_num_rows($result) > 0) {...}:检查查询结果。while($row = mysqli_fetch_assoc($result)) {...}:输出数据。mysqli_close($conn);:关闭数据库连接。
四、 插入数据库
<?php
// 引入数据库配置文件
require_once('config.php');
// 建立数据库连接
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// 检查连接是否成功
if (!$conn) {
die('连接数据库失败:' . mysqli_connect_error());
}
// 插入数据
$sql = 'INSERT INTO users (name, email, password) VALUES ('John Doe', 'john@example.com', 'password')';
if (mysqli_query($conn, $sql)) {
echo '数据插入成功。';
} else {
echo '数据插入失败:' . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
注释:
require_once('config.php');:引入数据库配置文件。$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);:建立数据库连接。if (!$conn) {...}:检查连接是否成功。$sql = 'INSERT INTO users (name, email, password) VALUES ('John Doe', 'john@example.com', 'password')';:插入数据。if (mysqli_query($conn, $sql)) {...}:执行插入操作。mysqli_close($conn);:关闭数据库连接。
五、 修改数据库
<?php
// 引入数据库配置文件
require_once('config.php');
// 建立数据库连接
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// 检查连接是否成功
if (!$conn) {
die('连接数据库失败:' . mysqli_connect_error());
}
// 修改数据
$sql = 'UPDATE users SET name='Jane Doe' WHERE id=1';
if (mysqli_query($conn, $sql)) {
echo '数据修改成功。';
} else {
echo '数据修改失败:' . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
注释:
require_once('config.php');:引入数据库配置文件。$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);:建立数据库连接。if (!$conn) {...}:检查连接是否成功。$sql = 'UPDATE users SET name='Jane Doe' WHERE id=1';:修改数据。if (mysqli_query($conn, $sql)) {...}:执行修改操作。mysqli_close($conn);:关闭数据库连接。
六、 写入数据库
<?php
// 引入数据库配置文件
require_once('config.php');
// 建立数据库连接
$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// 检查连接是否成功
if (!$conn) {
die('连接数据库失败:' . mysqli_connect_error());
}
// 开始事务
mysqli_begin_transaction($conn);
// 插入数据
$sql = 'INSERT INTO users (name, email, password) VALUES ('John Doe', 'john@example.com', 'password')';
if (mysqli_query($conn, $sql)) {
// 提交事务
mysqli_commit($conn);
echo '数据写入成功。';
} else {
// 回滚事务
mysqli_rollback($conn);
echo '数据写入失败:' . mysqli_error($conn);
}
// 关闭数据库连接
mysqli_close($conn);
?>
注释:
require_once('config.php');:引入数据库配置文件。$conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);:建立数据库连接。if (!$conn) {...}:检查连接是否成功。mysqli_begin_transaction($conn);:开始事务。$sql = 'INSERT INTO users (name, email, password) VALUES ('John Doe', 'john@example.com', 'password')';:插入数据。if (mysqli_query($conn, $sql)) {...}:执行插入操作。mysqli_commit($conn);:提交事务。mysqli_rollback($conn);:回滚事务。mysqli_close($conn);:关闭数据库连接。
注意:
- 请将示例代码中的
your_username、your_password和your_database_name替换为您的实际数据库信息。 - 这些示例代码仅供参考,您需要根据实际需求进行修改和扩展。
- 在实际开发中,建议使用预处理语句来防止 SQL 注入攻击。
- 建议您使用 PDO 或其他数据库抽象层来简化数据库操作。
原文地址: https://www.cveoy.top/t/topic/npkO 著作权归作者所有。请勿转载和采集!