PHP no muestra el resultado de la consulta MYSQL

Tengo el siguiente código

$sql = "SET @uid := (SELECT 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;";
$result = mysqli_multi_query($conn, $sql)
                 or die( mysqli_error($sql) );
if (mysqli_num_rows($result) > 0) {
  $text = '';
  while($row = mysqli_fetch_assoc($result)) {  
      $Channel_Location = $row['Channel_Location'];
      $text =  $text . $Channel_Location;

    }       
}

Ahora el problema que tengo es que el php no muestra el resultado devuelto por la consulta MYSQL que se almacena en una sesión posterior en el código que se mostrará en una página ficticia, aparece el siguiente error

Advertencia: mysqli_num_rows () espera que el parámetro 1 sea mysqli_result

Mi consulta SQL hace exactamente lo que necesito, solo necesito hacerlo, por lo que realmente no quiero cambiarlo. Solo necesito algunos consejos sobre cómo conseguir que el PHP haga eco del @uid ¿hay alguien dispuesto a ayudarme a resolver el problema? Si es así, gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta