0

我无法让 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

4

2 回答 2

2

请参阅如何在 MySQL 中进行批量插入

使用 VALUES 语法的 INSERT 语句可以插入多行。为此,请包含多个列值列表,每个列表都包含在括号中并用逗号分隔。例子:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

于 2013-08-28T18:01:41.720 回答
0

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  |
------------------
于 2015-03-16T15:29:02.253 回答