PHP通过循环将数组数据插入数据库 (php循环数组插入数据库)

在日常的网站开发中,常常需要将一组数据插入到数据库中。如果数据量比较小,手动逐个插入还算简单。但若数据量大,这种方式会显得十分繁琐。因此,使用循环批量插入数据是更加高效的方法。在这篇文章里,我们将学习使用PHP循环将数组数据插入数据库的方法。

准备工作

在开始操作之前,我们需要先准备好自己的开发环境。主要包括以下两方面:

1. 安装PHP

需要安装PHP,以便于编写和运行PHP程序。如果您还没有安装PHP,您可以在官网上下载最新的PHP安装包。

2. 创建数据库和数据表

需要在MySQL中创建一个数据表,用于存储即将插入的数据。例如,我们可以通过以下SQL语句,在MySQL中创建一个名为“users”的表:

“`

CREATE TABLE users (

id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(30) NOT NULL,

eml VARCHAR(50) NOT NULL,

reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

)

“`

该表共包含4个字段,分别是:

– id:用作唯一标识,自动递增;

– name:用户名;

– eml:用户邮箱;

– reg_date:注册时间。

编写PHP代码

完成以上两个准备工作后,我们就可以开始编写PHP代码了。我们需要先将数据转换为数组形式。

下面是一个简单的例子:

“`

$data = array(

array(‘John’, ‘john@example.com’),

array(‘Jane’, ‘jane@example.com’),

array(‘Doe’, ‘doe@example.com’)

);

“`

在上述代码中,$data 是一个包含3个数组的二维数组。每个子数组包括2个值,分别表示用户名和用户邮箱。

接着,我们使用循环遍历数组中的每个子数组,并将其插入到数据库中。

下面是实现的示例代码:

“`

// 连接数据库

$servername = “localhost”;

$username = “username”;

$password = “password”;

$dbname = “myDB”;

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

// 检查连接是否成功

if (!$conn) {

die(“Connection fled: ” . mysqli_connect_error());

}

// 转义数组中的每个值

foreach ($data as $row) {

$name = mysqli_real_escape_string($conn, $row[0]);

$eml = mysqli_real_escape_string($conn, $row[1]);

// 插入数据

$sql = “INSERT INTO users (name, eml)

VALUES (‘$name’, ‘$eml’)”;

if (mysqli_query($conn, $sql)) {

echo “New record created successfully”;

} else {

echo “Error: ” . $sql . “
” . mysqli_error($conn);

}

}

// 关闭连接

mysqli_close($conn);

“`

我们使用 mysqli_connect() 函数连接到数据库。如果连接失败,则输出错误信息并终止程序。

接着,使用 foreach 循环遍历数组中的每个子数组。对于每个子数组,我们使用 mysqli_real_escape_string() 函数对其进行转义,以避免 SQL 注入攻击。然后,我们将转义后的值插入到数据库中。

使用 mysqli_close() 函数关闭数据库连接。

通过上述示例代码,我们可以看到使用PHP循环将数组数据插入数据库的基本方法。

在实际开发过程中,我们还可以根据具体需求进行相应修改。例如,可以将从表单提交的数据转换为数组后,再进行批量插入;或者在插入数据时,通过判断数据是否已存在进行去重等。

同样的方法,也可以用在更新和删除数据的操作中。掌握批量插入、更新和删除等操作,可以提高我们的编程效率,快速完成开发任务。


数据运维技术 » PHP通过循环将数组数据插入数据库 (php循环数组插入数据库)