【问题标题】:How to increment an array in a loop如何在循环中增加数组
【发布时间】:2013-04-27 18:31:09
【问题描述】:

我正在尝试使用 PHP 将数组的内容发布到 MySQL 数据库。

$i = 0;

while($i < 8 ) {
mysql_query("INSERT INTO posted (posty) 
VALUES ('$nummARAY[1]')");

$i = $i +1;
}

但我希望 $nummARAY 在每个循环中增加 1(当然,直到达到 8)

我确信这是超级新手的东西,所以希望有一个或两个字的答案。

谢谢,威尔!

【问题讨论】:

  • 你不应该做 8 个单独的查询。您可以通过一个查询将多行插入到表中。你也不应该使用mysql_query。由于多种原因,它已被弃用。

标签: php arrays loops post while-loop


【解决方案1】:

简答:

$nummARAY[$i] 而不是$nummARAY[1]

(如果$numARAY的第一个索引应该是0)。

更多详情

如果$numARAY的第一个索引应该是1,只需将$i = $i +1这一行移到循环的开头,它看起来像这样:

$i = 0;
while($i < 8 ) {
    $i = $i + 1;
    mysql_query("INSERT INTO posted (posty) 
    VALUES ('$nummARAY[$i]')");
    }

此外,您可以将$i = $i + 1 行替换为更简洁的$++。见incrementing/decrementing operators in PHP

事实上,正如 Paulpro 评论的那样,您最好使用单个 MySQL 查询。这很容易做到。例如(来自good tutorial):

INSERT INTO example
    (example_id, name, value, other_value)
VALUES
    (100, 'Name 1', 'Value 1', 'Other 1'),
    (101, 'Name 2', 'Value 2', 'Other 2'),
    (102, 'Name 3', 'Value 3', 'Other 3'),
    (103, 'Name 4', 'Value 4', 'Other 4');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多