<分区>
我有一个表 numbers
,其中包含 3 列 id
、number
和 ts
我想随机选择 10 条 ts 为 NULL 的记录来获取它们,同时用当前时间戳更新它们的 ts
以便下一次选择我不会得到相同的结果,并且知道何时选择了每个 number
。
$ts = time();
$query = 'UPDATE numbers SET ts = ' . $ts . ' WHERE number IN (SELECT number FROM (SELECT number FROM numbers WHERE ts IS NULL ORDER BY RAND() LIMIT 10) AS t)';
if (!$stmt = $mysqli->prepare($query)) {
echo $mysqli->error;
}
$stmt->execute();
$stmt->bind_result($number);
$stmt->store_result();
while ($stmt->fetch()) {
echo $number . '<br>';
}
这里我不需要任何 bind_param() 因为没有外部输入。
现在,这个查询返回
Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement in...