0

我有一个输入字段,用户可以在其中指定 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。我只想插入 2 行。

编辑:这只是一个例子。除了弄清楚如何插入多行之外,我一切正常。我需要帮助的是如何插入多行。

4

2 回答 2

2

您应该使用 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)')"
于 2013-07-05T23:20:12.480 回答
0

假设您有充分的理由进行随机插入..

您可以将查询放入循环中

$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
}
于 2013-07-05T23:13:44.023 回答