生成随机数和搜索数据库

时间:2018-03-11 20:32:14

标签: php mysql sql database

我正在寻找一些帮助来创建一个php脚本来执行以下操作吗?

  1. 生成1到100之间的随机数,所以假设50是生成的数字(我知道该怎么做)
  2. 在数据库中搜索id#50(我知道该怎么做)
  3. 返回名为" status"的列的值。第50行将为1或0(我知道该怎么做)
  4. 如果status = 0然后执行某些操作并退出但是如果status = 1则我需要返回步骤1并继续执行此操作直到status = 0(这是我被困住的位)
  5. 我的PHP版本是5.4.45& MySQLI是5.6.37

    非常感谢任何帮助。非常感谢您的帮助。

    理查德

3 个答案:

答案 0 :(得分:1)

select * from t where status=0 order by rand() limit 1;

这是从mysql中选择随机行的最简单方法

答案 1 :(得分:0)

update t set status =0;  it will set all the cords back to 0

答案 2 :(得分:0)

此代码应该产生您正在寻找的行为......

while (true)
{
    $num = rand(1,100);

    $stmt = $mysqli->prepare('SELECT * FROM Table WHERE Id = ?');
    $stmt->bind_param('i', $num); 
    $stmt->execute();
    $stmt_result = $stmt->get_result();

    if ($stmt_result->num_rows == 0)
    {
        $stmt->close();
        continue;
    }

    $status = null;

    while ($row = $stmt_result->fetch_assoc()) {
        $status = $row['status'];
    }

    $stmt->close();

    if (status == 0)
    {
        DoSomething();
        break;
    }
}