我无法让 PHP 在 MySQL 数据库中一次插入多行。
我用$sql = "INSERT INTO database (a,b,c,d,e) VALUES ('$a', '$b' ,'$c', '$d', '$e')";
我想在数据库中一次插入 5 行,但它只插入每 5 条记录。
例如:
1. AA 2. AB 3. AC 4. AD 5. AE
使用 VALUES 语法的 INSERT 语句可以插入多行。为此,请包含多个列值列表,每个列表都包含在括号中并用逗号分隔。例子:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
HTML
<span class="row" ><input name="a[]" value="AA" /><input name="b[]" value="AA" /></span>
<span class="row" ><input name="a[]" value="AB" /><input name="b[]" value="AB" /></span>
<span class="row" ><input name="a[]" value="AC" /><input name="b[]" value="AC" /></span>
<span class="row" ><input name="a[]" value="AD" /><input name="b[]" value="AD" /></span>
<span class="row" ><input name="a[]" value="AE" /><input name="b[]" value="AE" /></span>
PHP
$sql= array();
for ($x = 0; $x < count($_POST['a']); $x++ ) {
$sql[] = '('.$_POST["a"][$x].','.$_POST["b"][$x].')';
}
mysql_query('INSERT INTO `orders` (`a`, `b`) VALUES '.implode(',', $sql));
输出
==================
| id | a | b |
|================|
| 1 | AA | AA |
|----|-----|-----|
| 2 | AB | AB |
|----|-----|-----|
| 3 | AC | AC |
|----|-----|-----|
| 4 | AD | AD |
|----|-----|-----|
| 5 | AE | AE |
------------------