Pdo 随机选择一行

问题描述 投票:0回答:0

我试图使用 pdo 从数据库中随机选择一行,但我没有找到不使用 while 循环的方法

$map = '1';
    
    $stmt = $db->prepare('SELECT * FROM map_pokemon WHERE map = ? LIMIT 20');
$stmt->execute(array($map));

if($stmt->rowCount() > 0){
    while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
       
        
        $rand_keys = array_rand($row['pokemon']);
        
    }
}

pdo while 循环获取所有结果我可以将它们打印出来但现在我试图选择一个随机结果但出现此错误 致命错误:未捕获类型错误:array_rand():参数 #1 ($array) 必须是数组类型,字符串在

中给出

我想在 while 循环外使用随机结果

我在用这个

$query = $db->prepare('SELECT pokemon
 FROM map_pokemon WHERE map = ?
 ORDER BY RAND() LIMIT 1');
$array = array('30');
$query->execute($array);

$result = $query->fetchAll(PDO::FETCH_COLUMN, 0);
$wildPokemon = $result  ;

但我已经转移到 vps 现在得到空数组

php pdo
© www.soinside.com 2019 - 2024. All rights reserved.