Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP не показва резултат от MYSQL заявка

Имате 3 заявки във вашия $sql, така че трябва да използвате функция multi_queryhttp:/ /php.net/manual/en/mysqli.multi-query.php

И можете да промените първата си заявка на:

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

Актуализиране Можете да опитате този фрагмент от вашия код, модифициран с всички коментирани подобрения.

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да изпълним mysql команда DELIMITER

  2. Използване на наклонени черти след mysql_real_escape_string

  3. Множество броя с различни условия в една MySQL заявка

  4. PHP PDO срещу нормален mysql_connect

  5. Резултати от текстовото поле за автоматично довършване на базата на SQL база данни