Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso ter certeza de que duas linhas selecionadas aleatoriamente são diferentes uma da outra?


Você pode executar apenas uma vez, mas obter duas para que nunca escolha a mesma linha:
$result = mysqli_query($conn,"SELECT * FROM photos ORDER BY rand() LIMIT 2");
$row = $result->fetch_assoc();
$row2 = $result->fetch_assoc();
// invoke `->fetch` twice to get the first and second row
$img1link = $row['link'];
$img2link = $row2['link'];

Nota lateral:Tenha cuidado com isso ORDER BY rand() cláusula, pois será lento em grandes conjuntos de dados. Você pode usar uma alternativa com a excelente answer de @Bill Karwin