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);
?>