Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL/PHP插入多行_Php_Sql - Fatal编程技术网

使用SQL/PHP插入多行

使用SQL/PHP插入多行,php,sql,Php,Sql,我有一个输入字段,用户可以在其中指定1-22之间的数字。现在让我们假设他们进入14。然后我想插入14行。最好的方法是什么?使用SQL或PHP $current_number_of_ranks = 7; $number_of_ranks = 14; INSERT INTO ranks (c_id, name) VALUES (67, '(new rank)') 编辑:另外,假设当前有7行c_id为67,它们输入数字9。我只想插入两行 编辑:这只是一个例子。除了弄清楚如何插入多行之外,我什么都做

我有一个输入字段,用户可以在其中指定1-22之间的数字。现在让我们假设他们进入14。然后我想插入14行。最好的方法是什么?使用SQL或PHP

$current_number_of_ranks = 7;
$number_of_ranks = 14;

INSERT INTO ranks (c_id, name) VALUES (67, '(new rank)')
编辑:另外,假设当前有7行c_id为67,它们输入数字9。我只想插入两行


编辑:这只是一个例子。除了弄清楚如何插入多行之外,我什么都做得很好。我所需要的帮助就是如何插入多行。

假设您有一个很好的理由进行随机插入

您可以将查询放入循环中

$number_of_ranks = 14;
for ($i=0; $i<$number_of_ranks; $i++) {
    mysqli_query("INSERT INTO ranks (c_id, name) VALUES (67, '(new rank)')");
    //use normal db class if you have written one of course
}
$number\u of_秩=14;

对于($i=0;$i您应该使用MySQL多重插入:

$number_of_ranks = 14;

$value = implode(',', array_fill(0, $number_of_ranks, "(67, '(new rank)')"));
$query = 'INSERT INTO ranks (c_id, name) VALUES ' . $value;
// then execute the query 
$query
的结果将是:

"INSERT INTO ranks (c_id, name) VALUES (67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)')"

他们要插入14行?什么?随机数据?或者你要问用户他想插入什么?然后你还需要选择“插入前”来知道给定ID已经存在多少行。我已经这样做了。这只是一个例子。这不是最好的方法。在循环中执行任何类型的查询通常都是错误的由于性能原因而不赞成。