php - remove - Comprobando si mysql_query devolvió algo o no
select php mysql ejemplo (5)
$query = "SELECT * FROM `table`";
$results = mysql_query($query, $connection);
Si ''tabla'' no tiene filas. ¿Cuál es la forma más fácil de verificar esto?
Puede usar mysql_num_rows ($ results) para verificar si se devolvieron 0 filas, o use esta alternativa más rápida:
$query = "SELECT COUNT(*) AS total FROM table";
$results = mysql_query($query, $connection);
$values = mysql_fetch_assoc($results);
$num_rows = $values[''total''];
Si revisas los resultados, puedes tener un contador y verificar eso.
$x = 1;
$query = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_assoc($query))
{
$x++;
}
if($x == 1)
{
//No rows
}
Alternativamente, simplemente puede verificar si el resultado de mysql_fetch_assoc es falso.
print("code sample");
$query = "SELECT * FROM `table`";
$results = mysql_query($query, $connection);
$Row = mysql_fetch_assoc($results);
if ($Row == false)
{
$Msg = ''Table is empty'';
}
La respuesta de Jeremy Ruten arriba es buena y se ejecuta rápidamente; por otro lado, solo le da el número de filas y nada más (si desea los datos del resultado, debe consultar nuevamente la base de datos). Lo que uso:
// only ask for the columns that interest you (SELECT * can slow down the query)
$query = "SELECT some_column, some_other_column, yet_another_column FROM `table`";
$results = mysql_query($query, $connection);
$numResults = mysql_num_rows($results);
if ($numResults > 0) {
// there are some results, retrieve them normally (e.g. with mysql_fetch_assoc())
} else {
// no data from query, react accordingly
}
Una cosa que noté fue que se perdió el hecho de que la consulta podría no tener éxito, por lo que es necesario verificar si la variable $ results está configurada. Usaré la respuesta dada por yjerem como ejemplo.
$query = "SELECT COUNT(*) AS total FROM table";
$results = mysql_query($query, $connection);
if ($results) { // or use isset($results)
$values = mysql_fetch_assoc($results);
$num_rows = $values[''total''];
}