在PHP中的写上下文中不能使用方法返回值

时间:2014-10-16 03:16:34

标签: php mysql sql

您好我使用以下功能确保表格中不存在重复的随机ID,并确保表格中不存在重复的随机ID,但我确保表格中存在重复的随机ID。收到错误无法在写入上下文中使用方法返回值....

function postex($conn)
    {
        $query = $conn->prepare('SELECT 1 FROM posts
                 WHERE postid = :rand');
    do {
        $random_string = generateRandomString(5);
    } while
    (
            $query->execute(array(':rand' => $random_string))->fetch(PDO::FETCH_ASSOC) = false

);
    return $random_string;
}

是因为SQL有问题吗?

此外,我认为当表中越来越多的ID累积时,这将是一个艰难而缓慢的过程。确保表中不存在重复的随机ID的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:0)

添加一个!在while条件下可以解决错误:

 while
    ($query->execute(array(':rand' => $random_string))->fetch(PDO::FETCH_ASSOC) != false);