La query que usas verifica que sea mayor a uno (1), no a cero (0), por lo que tiene un error lógico. El 1 se está interpretando como valor para salida por negativo.
¿Se entiende?, Serán true valores de 2 y superiores, pero no el 1.
Código PHP:
Ver original$query = "SELECT COUNT(*) total FROM card_reward WHERE serial= '$serial_01' AND usos>0 ";
if ($row['total']) > 0 {
echo "Si, aun hay números mayores";
} else {
echo "negativo, numero 0";
}
Esto, siempre y cuando $serial_01 contenga datos, porque de lo contrario dará resultado "negativo" por error de parámetros, y no por datos.
Si el campo "serial" es numérico, yo lo escribiría así:
Código PHP:
Ver original$query = "SELECT COUNT(*) total FROM card_reward WHERE serial= $serial_01 AND usos>0 ";
De ese modo si la variable llega con un valor nulo, o con un valor no numérico, disparará un error de sintaxis, fácilmente detectale.