Lo más probable es que la consulta o la conexión a la base de datos esta fallando, pero como no haces las comprobaciones pertinentes no lo ves.
 
Un ejemplo completo podría ser este, extraído del manual.  
 Código PHP:
    <?php
/* establecer la conexión */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
    printf("Conexión fallida: %s\n", mysqli_connect_error());
    exit();
}
/* cambiar el conjunto de caracteres a utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Error cargando el conjunto de caracteres utf8: %s\n", mysqli_error($link));
    exit();
}
/* Ejecuta la consulta sql */
if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {
    /* determinar el número de filas del resultado */
    $row_cnt = mysqli_num_rows($result);
    printf("El resultado tiene %d filas.\n", $row_cnt);
    /* cerrar el resulset */
    mysqli_free_result($result);
} else {
    /* imprimir el último mensaje de error */
    printf("Errormessage: %s\n", mysqli_error($link));
}
/* cerrar la conexión */
mysqli_close($link);
?>