我有一个包含5个数字的数组。我使用事件调度在每5秒后插入行,但它继续插入第一个值。 如何在mysql中的每个插入处插入不同的数组值。
这是我的代码:
<?php
require_once('con.php');
$numb = array(101,245,342,894,45);
$random = array_rand($numb);
for($a=0;$a<=5;$a++)
{
$query = "CREATE EVENT myEvent1 ON SCHEDULE EVERY 5 SECOND DO BEGIN INSERT INTO emp(emp_id) VAlUES('$numb[$random]'); END";
$res = mysqli_query($con,$query);
}
?>
答案 0 :(得分:-1)
您将获得PHP
中的随机数并将其传递给MySQL
,该时间每5秒钟使用一次。相反,您需要在MySQL
中执行随机部分,以便每次都随机。 (参见:MYSQL insert random from list)
$query = "CREATE EVENT myEvent1 ON SCHEDULE EVERY 5 SECOND DO BEGIN INSERT INTO emp(emp_id) VAlUES(ELT(0.5 + RAND() * 5, 101, 245, 342, 894, 45)); END";
答案 1 :(得分:-2)
试试这个:
$numb = array('101','245','342','894','45');
或者这个:
array_rand(array_flip($numb), $n);