是否可以插入具有延迟类型的东西/睡眠的多个数据几秒钟? 例如,我将把值(1,2)插入到我的用户表中。然后在5秒后,它将继续将值(3,4)插入到同一个表中,等待5秒钟,最后将(5,6)插入表中。
INSERT INTO User (col1, col2)
VALUES (1, 2), (3, 4), (5, 6)
非常感谢任何建议!
答案 0 :(得分:0)
<?php // da
$array = array(1, 2, 3, 4);
foreach ($array as $data) {
mysqli_query($conn,"INSERT INTO ... SET data='".$data."'");
sleep(1)
}
?>
那样的东西?我不太了解。
答案 1 :(得分:0)
所以我做的是通过像这样连接来创建查询。但是如果你想要多个插入,你可以在一个循环中调用该函数并删除这个睡眠,将它放在函数外部的循环中,或者如果调用不是一个线程,你可以把它留在那里。
<?php
static function insert_table_db($anArra){
$dbconn = mysqli_connect(DB_HOST, DB_USER,DB_PASSWORD, DB_DATABASE) or die('MySQL connection failed!' . mysqli_connect_error());
mysqli_set_charset($dbconn, "utf8");
$query = "INSERT INTO `table`(`col1`, `col2`, `col3`, `col4`, `col5`) VALUES ";
$i = 1;
foreach ($anArray as $item) {
$query = $query . "(" . $item[0]. "," . $item[1]. "," . $item[2] . "," . $item[3] . ",'" . $item[4] . "')";
if (count($anArray) == $i){
$query = $query . ";";
} else {
$query = $query . ",";
}
$i++;
}
// Run query
if($dbconn->query($query) === true) {
$dbconn->close();
} else {
echo "Database Error: " . $dbconn->error;
$dbconn->close();
}
sleep(5);
}
?>
更新:对不起,如果有些变量没有意义我将它从我建立的库中删除了,还有一些额外的东西我没有删除; D。
答案 2 :(得分:0)
我找到了解决方案。也许它有点乱,但这就是我带来的并解决了我的问题。基本上我只需要使用prepare,如果我想重用该语句。
$stmt = $dbh->prepare("INSERT INTO user (col1, col2) VALUES ('1','2');
$stmt2 = $dbh->prepare("INSERT INTO user (col1, col2) VALUES ('3','4');
$stmt3 = $dbh->prepare("INSERT INTO user (col1, col2) VALUES ('5','6');
{ $stmt->execute();
sleep(5);
$stmt2->execute();
sleep(5);
$stmt3->execute();
}
这就是全部。感谢那些试图解决这个问题的人。