php中mysql语句拼接时间批量插入数据、动态循环条件

mysql语句动态拼接,进行批量插入数据库。在一些特殊的环境中经常会出现该功能,那么在php中我们要如何实现动态拼接mysql语句呢?

本文详细解析,使用php代码来实现该功能。

分析可以得出,拼接数据可以分为固定部分和动态部分。如,指定表中进行批量动态插入数据。最后需要实现效果如下:

INSERT INTO user (name,age) VALUES ('张三','18'),('李四','20')

mysql语句解析:在user表中,批量插入张三、李四的相关信息。

INSERT INTO user (name,age) VALUES即为其中固定不部分,后面括号中的张三和李四则为动态生成的数据。

$arrayData = array(
array(
'name' => '张三',
'age' => 18,
),
array(
'name' => '李四',
'age' => 20,
),
);
$sql = sprintf("INSERT INTO user (name,age) VALUES ");
foreach ($arrayData as $item) {
$itemStr = '(';
$itemStr .= sprintf("'%s','%s'", $item['name'], $item['age']);
$itemStr .= '),';
$sql .= $itemStr;
}
$sql = rtrim($sql, ',');
echo $sql;

注:%s代表字符串,%d代表数字。

代码解析:

    1、需要动态的二维数组,即用户信息。

    2、定义固定mysql部分变量。

    3、使用foreach来循环二维数据,将数据和初始固定变量进行拼接。

    4、rtrim删除字符串前后的英文状态下的逗号,该逗号的产生是字符串拼接过程中产生的多余逗号。

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!