php 怎么添加数据库数据库
- 数据库
- 2025-07-14
- 3336
CREATE DATABASE IF NOT EXISTS dbname,最后关闭连接
PHP中,添加数据库的操作通常涉及连接到数据库服务器、创建数据库(如果尚未存在)、选择数据库以及执行SQL查询来插入数据,以下是详细的步骤和示例代码,帮助你理解如何在PHP中添加数据库和插入数据。
安装和配置数据库
在使用PHP操作数据库之前,首先需要确保已经安装并配置了数据库服务器,例如MySQL,可以从MySQL官方网站下载安装包,并按照安装指南进行安装和配置。
连接到数据库
在PHP中,可以使用mysqli或PDO扩展来连接到数据库,以下是两种方法的示例代码:
使用mysqli扩展连接数据库
 
<?php
$servername = "localhost"; // 数据库服务器名称
$username = "root";        // 数据库用户名
$password = "";            // 数据库密码
$dbname = "mydatabase";    // 数据库名称
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接是否成功
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?> 
使用PDO扩展连接数据库
 
<?php
$servername = "localhost"; // 数据库服务器名称
$username = "root";        // 数据库用户名
$password = "";            // 数据库密码
$dbname = "mydatabase";    // 数据库名称
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功";
} catch (PDOException $e) {
    die("连接失败: " . $e->getMessage());
}
?> 
创建数据库(如果尚未存在)
如果数据库不存在,可以使用以下SQL语句创建数据库:
<?php
// 使用mysqli创建数据库
$mysqli = new mysqli("localhost", "root", "", "");
if ($mysqli->connect_error) {
    die("连接失败: " . $mysqli->connect_error);
}
// 创建数据库
$sql = "CREATE DATABASE IF NOT EXISTS mydatabase";
if ($mysqli->query($sql) === TRUE) {
    echo "数据库创建成功或已存在";
} else {
    echo "创建数据库失败: " . $mysqli->error;
}
$mysqli->close();
?> 
选择数据库
在连接成功后,需要选择要操作的数据库,如果使用mysqli扩展,可以在连接时直接指定数据库名;如果使用PDO扩展,可以在连接字符串中指定数据库名。

创建表
在数据库中添加数据之前,需要先创建一个表,可以使用SQL语句在数据库中创建表,如下所示:
<?php
// 使用mysqli创建表
$sql = "CREATE TABLE MyTable (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
    echo "表创建成功";
} else {
    echo "创建表失败: " . $conn->error;
}
?> 
插入数据
可以使用SQL语句向表中插入数据,以下是使用mysqli和PDO扩展的示例代码:
使用mysqli扩展插入数据
 
<?php
// 插入数据
$sql = "INSERT INTO MyTable (name, email) VALUES ('John Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
    echo "数据插入成功";
} else {
    echo "数据插入失败: " . $conn->error;
}
$conn->close();
?> 
使用PDO扩展插入数据
 
<?php
// 插入数据
$sql = "INSERT INTO MyTable (name, email) VALUES (:name, :email)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$name = 'John Doe';
$email = 'john@example.com';
if ($stmt->execute()) {
    echo "数据插入成功";
} else {
    echo "数据插入失败: " . $stmt->errorInfo()[2];
}
$conn = null;
?> 
关闭数据库连接
在完成数据库操作后,记得关闭与数据库的连接,以释放资源,可以使用close()方法来关闭连接:

<?php // 关闭连接(mysqli) $conn->close(); // 关闭连接(PDO) $conn = null; ?>
错误处理
在使用数据库连接时,应该注意错误处理,你可以使用try-catch块或者if-else语句来捕获和处理可能发生的数据库错误,在使用PDO扩展时,可以设置错误模式为异常,以便在发生错误时抛出异常:
<?php
try {
    $conn = new PDO("mysql:host=localhost;dbname=mydatabase", 'root', '');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?> 
完整示例代码
以下是一个完整的示例代码,展示了如何使用mysqli扩展连接到数据库、创建表、插入数据并关闭连接:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydatabase";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接是否成功
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
echo "连接成功<br>";
// 创建表
$sql = "CREATE TABLE MyTable (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
    echo "表创建成功<br>";
} else {
    echo "创建表失败: " . $conn->error;
}
// 插入数据
$sql = "INSERT INTO MyTable (name, email) VALUES ('John Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
    echo "数据插入成功<br>";
} else {
    echo "数据插入失败: " . $conn->error;
}
// 关闭连接
$conn->close();
?> 
相关问答FAQs
如何在PHP中防止SQL注入?

为了防止SQL注入,应该使用预处理语句(Prepared Statements)和参数绑定,在使用PDO扩展时,可以使用prepare()方法准备SQL语句,并使用bindParam()方法绑定参数,这样可以避免直接将用户输入拼接到SQL语句中,从而防止SQL注入攻击。
PHP中如何更新数据库中的数据?
在PHP中,可以使用UPDATE语句来更新数据库中的数据,与插入数据类似,可以使用mysqli_query()函数或PDO的exec()方法来执行UPDATE语句,以下代码展示了如何使用mysqli扩展更新数据:
<?php
// 更新数据
$sql = "UPDATE MyTable SET email='newemail@example.com' WHERE name='John Doe'";
if ($conn->query($sql) === TRUE) {
    echo "数据更新成功";
} else {
    echo "数据更新失败: " . $conn->error;
}
$conn->close();
?> 
 
  
			 
			 
			 
			