Q:

Verificar si una tabla posee registros en MySQL desde PHP

Tengo esta función en php para saber si una tabla existe, que funciona perfectamente:
    function mysql_table_existe($tableName)
{
    $query = 'SELECT COUNT(*) FROM '.$tableName;
    $result = mysql_query($query);
    $num_rows = @mysql_num_rows($result);
    if($num_rows)
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}

Pero estoy migrando a php 7.2 y me esta dando algunos problemas. Estoy conectando mediante:
$db_link = mysqli_connect($hostname, $username, $password, $nombre_base);

y hasta ahora no tengo problemas, mas que con esta funcion
intenté sin exito:
    function mysql_table_existe($tableName)
{
    $query = 'SELECT COUNT(*) FROM '.$tableName;
    $result = mysqli_query($db_link, $query);
    $num_rows = @mysqli_num_rows($result);
    if($num_rows)
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}

A:

Ojo que me parece lo que buscas con tu código no es saber si la tabla existe sino contar si tiene registros o no que es lago distinto, ya que pudiéramos tener una tabla sin registros pero que si existe.

Considera hacer los siguientes cambios:

Usa una función anónima a la cual le pasaremos el nombre de la tabla que esta en una variable en forma de argumento
Después para acceder a la variable que almacena la conexión haremos uso de use para llevar al contexto de la función anónima dicha variable
De preferencia no arrobes las funciones pues me parece que hacerlo implica silenciar los errores que se pudieran estar generando

Tu consulta pudiera quedar así:
<?php 

$conexion = mysqli_connect("localhost", "root", "", "database");

$tableName;

$hasData = function ($tableName) use($conexion) 
{
    $consulta = mysqli_query($conexion, "SELECT COUNT(*) FROM ".$tableName);
    if (mysqli_num_rows($consulta)) 
    {
        return true;
    } else {
        return false;
    }
};

echo $hasData("tableName");

Solo adaptalo a tu ejercicio

