插入 1-100 的连续数字 PHP

Insert continuous number from 1-100 PHP

你好,所以我有一个名为 tbl_value 的 table 并且有 2 列(id,数字),我想要做的是 运行 一个插入 1-100 行的查询.我现在的代码是

$stmt = $dbc->query("INSERT INTO tbl_inc (number) VALUES ('1')");
$stmt = $dbc->query("INSERT INTO tbl_inc (number) VALUES ('2')");
$stmt = $dbc->query("INSERT INTO tbl_inc (number) VALUES ('3')");

依此类推,直到 100。我如何 运行 插入 1-100 的单个查询(无循环)?提前致谢。

for($i = 1; $i<= 100; $i++) {
     $dbc->query("INSERT INTO tbl_inc (number) VALUES (".$i.")");
}

试试上面的代码

您可以使用循环并生成查询。试试这个 -

$sql = "INSERT INTO tbl_inc (number) VALUES ";
$vals = array();
for($i = 1; $i <= 100; $i ++) {
   $vals[] = "('$i')";
}
$sql .= implode(',', $vals);
$stmt = $dbc->query($sql);

无循环:

<?php

$sql = "INSERT INTO tbl_inc (number) VALUES ('";
$vals = range(1, 100);
$sql .= implode( "') , ('" , $vals)."')";
$stmt = $dbc->query($sql);

?>

输出:

INSERT INTO tbl_inc (number) VALUES ('1') , ('2') , ('3') , ('4') , ('5') , ('6') , ('7') , ('8') , ('9') , ('10') , ('11') , ('12') , ('13') , ('14') , ('15') , ('16') , ('17') , ('18') , ('19') , ('20') , ('21') , ('22') , ('23') , ('24') , ('25') , ('26') , ('27') , ('28') , ('29') , ('30') , ('31') , ('32') , ('33') , ('34') , ('35') , ('36') , ('37') , ('38') , ('39') , ('40') , ('41') , ('42') , ('43') , ('44') , ('45') , ('46') , ('47') , ('48') , ('49') , ('50') , ('51') , ('52') , ('53') , ('54') , ('55') , ('56') , ('57') , ('58') , ('59') , ('60') , ('61') , ('62') , ('63') , ('64') , ('65') , ('66') , ('67') , ('68') , ('69') , ('70') , ('71') , ('72') , ('73') , ('74') , ('75') , ('76') , ('77') , ('78') , ('79') , ('80') , ('81') , ('82') , ('83') , ('84') , ('85') , ('86') , ('87') , ('88') , ('89') , ('90') , ('91') , ('92') , ('93') , ('94') , ('95') , ('96') , ('97') , ('98') , ('99') , ('100')

最快的解决方案是创建一个平面文件,LOAD DATA INFILE确保检查权限。

$fp = fopen('/mylocation/mytext.txt', "a+");

for($i = 1; $i <= 100; $i++){
  fwrite($fp, $i."\n");
}

fclose($fp);

$sql = "LOAD DATA INFILE /mylocation/mytext.txt
        INTO TABLE mytbl
        LINES TERMINATED BY '\n'";
$stmt = $dbc->query($sql);

unlink('/mylocation/mytext.txt');