PHP - Error mysql_num_rows()

 
Vista:

Error mysql_num_rows()

Publicado por luthien (24 intervenciones) el 23/02/2009 17:40:34
Hola,
Estoy intentando hacer un scroll horizontal de imagenes pero me da este error en la linia 163, alguien puede hecharme un cable?
Gracias!

mysql_num_rows(): supplied argument is not a valid MySQL result resource

$SQL = "SELECT * FROM exposicio WHERE tema LIKE '".$_GET["tema"]."'";


echo "<table align=center>";

$columnes = 4; # Número de columnas (variable)

" que es esta " if (($rows=mysql_num_rows($result))==0) {
echo "<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> ";
} else {
echo "<tr><td colspan=$columnes>$rows Resultados </td></tr>";
}

for ($i=1; $row = mysql_fetch_row ($result); $i++) {
$resto = ($i % $columnes); # Número de celda del <tr> en que nos encontramos
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
echo "<td>$row[1]</td>";
if ($resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
}
if ($resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
$ajust = $columnes - $resto; # Número de huecos necesarios
for ($j = 0; $j < $ajust; $j++) {echo "<td>".$titol."</td>";}
echo "</tr>"; # Cerramos la última línea </tr>
}
mysql_close($connexion);
echo "</table>";
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error mysql_num_rows()

Publicado por PasabaPorAqui (43 intervenciones) el 24/02/2009 11:54:41
Buenas.
Tiene toda la pinta de que te esta fallando la consulta de ese result. Si la select sale bien y no devuelve resultados te devolvería un 0, pero si la consulta da error por lo que sea te devuelve un false, y al hacer el mysql_num_rows es cuando rompe.
Donde hagas la consulta pon lo siguiente $result=mysql_query($SQL) or die(mysql_error()), esto si hace bien la consulta te dará el result, y si falla corta la ejecución del script y muestra el error por pantalla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error mysql_num_rows()

Publicado por pandoro (1 intervención) el 25/02/2009 00:13:08
Hola compañero, he visto 2 cosas que no me han gustado:
1.- $SQL = "SELECT * FROM exposicio WHERE tema LIKE '".$_GET["tema"]."'";
Creo, o eso me parece ami con este tipo de letra, que tiene un problema de comillas dobles y simples,prueba mejor con esto:
$SQL = "SELECT * FROM exposicio WHERE tema LIKE '".$_GET['tema']."'";
por si no se ve bien:
COMILLAS DOBLES SELECT + FROM exposicio WHERE tema LIKE COMILLA SIMPLE COMILLAS DOBLES .$_GET[COMILLA SIMPE tema COMILLA SIMPLE]. COMILLAS DOBLES COMILLA SIMPLE COMILLAS DOBLES;

2.- Otra cosa, esto no lo he probado nunca pero no si se puede hacer una asignacion a la vez que compruebas una condicion
" que es esta " if (($rows=mysql_num_rows($result))==0) {

mejor yo lo cambiaria por
if (mysql_num_rows($result) == 0) {
$rows = mysql_num_rows($result);
....
}else{
...
}

Espero poder haberte ayudado.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error mysql_num_rows()

Publicado por Juan Manuel Castañeda (52 intervenciones) el 25/02/2009 14:14:46
V "SELECT * FROM exposicio WHERE tema LIKE '".print($_GET["tema"])."'"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar