sql >> Database teknologi >  >> RDS >> Mysql

PHP viser ikke resultat fra MYSQL-forespørgsel

Du har 3 forespørgsler i din $sql, så du bør bruge multi_query-funktionenhttp:/ /php.net/manual/en/mysqli.multi-query.php

Og du kan ændre din første forespørgsel til:

SET @uid = 0;
SELECT @uid := ID FROM channels WHERE Used = 0 ORDER BY RAND() LIMIT 1);

Opdater Du kan prøve dette fragment af din kode ændret med alle kommenterede forbedringer.

$sql = 'SET @uid = 0;';
$sql .= 'SELECT @uid:= ID FROM channels WHERE Used = 0 ORDER BY RAND() LIMIT 1);';
$sql .= 'UPDATE channels SET Used = 1 WHERE ID = @uid;';
$sql .= 'SELECT * FROM channels WHERE ID IN = @uid;';
if (mysqli_multi_query($conn, $sql)) {
   do {
       $result = mysqli_store_result($conn);
   } while(mysqli_next_result($conn));
   if (mysqli_num_rows($result) > 0) {
     $text = '';
     while($row = mysqli_fetch_assoc($result)) {  
       $Channel_Location = $row['Channel_Location'];
       $text =  $text . $Channel_Location;
     }       
   }
} else {
  die( mysqli_error($conn) );
}



  1. Opretter forbindelse til Postgresql i en docker-container udefra

  2. Laravel 5.5 Error Basistabel eller visning findes allerede:1050 tabel 'brugere' findes allerede

  3. PostgreSQL Meltdown Benchmarks

  4. MySQL:Hvordan nulstilles eller ændres MySQL root-adgangskoden?