在循环中将数据插入mysql数据库

时间:2017-06-03 10:48:04

标签: php mysql

我是php和sql语言的新手,我有一个问题。 我想在循环时将数据插入数据库。到目前为止,我的代码是这样的。

for ($x = 0; $x <= 10; $x++) {
$sql="INSERT INTO exec (time, value) VALUES (now(), '34')";
}

但是,当我执行此代码时,数据只会插入数据库一次,而不是按照我的意图插入数据库。我还想在每个循环之间添加一些延迟大约10秒。任何帮助,将不胜感激!

2 个答案:

答案 0 :(得分:0)

您没有运行查询,只是将变量设置为字符串。因此,当循环结束时,字符串具有最后一个查询,该查询只是一行,它将执行该操作。

$sql .= "INSERT ...;";一样使用string concatenation 记得添加一个;在sql语句的末尾,允许同时进行多个查询。

作为替代方案,也可以使用一个插入语句插入多个值,例如:。

INSERT INTO `table_name`
   (`field1`, `field2`)
VALUES
   (1, 2),
   (3, 4),
   ...;

答案 1 :(得分:0)

您需要连接数据库和实际插入。

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$stmt = $dbh->prepare("INSERT INTO exec (time, value) VALUES (now(), 34)");
for ($x = 0; $x <= 10; $x++) {
   $stmt->execute();
   sleep(1);
}