Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2005, 18:01
sricardo
 
Fecha de Ingreso: diciembre-2005
Mensajes: 2
Antigüedad: 18 años, 4 meses
Puntos: 0
Exclamación problemas con $damefila=mysql_fetch_object($result) de un libro de visitas en php

hola tengo un problema con el codigo del libro de vistas php que tengo. el problema que me da es el siguiente:

Cita:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/webcindario/ricardoprueba2/Libro de visitas/index.php on line 56

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/webcindario/ricardoprueba2/Libro de visitas/index.php on line 91
y este es mi codigo:

Código:
//conecto con la base de datos !!linea 24
$conn = mysql_connect("mysql.webcindario.com","ricardoprueba2","****"); 
mysql_select_db("nombre_bbdd",$conn); 


if (!$HTTP_POST_VARS)
{
	//si no recibo nada por el formulario de firma del libro, muestro las firmas del libro
	//construyo la sentencia SQL
	$ssql = "SELECT * FROM librovisitas_php";
	
	//se mostrarán las últimas fimas, aunque habrá un enlace en la parte de abajo que se podrá pulsar para ver más firmas
	if (isset($_GET["vermas"]))
		$ssql .=  " where id_librovisitas_php<=" . $vermas;

	//ordeno la sentencia y limito el numero de resultados
	$ssql .= " ORDER BY id_librovisitas_php desc limit 11";
	
	//tomo el juego de resultados
	$result = mysql_query($ssql,$conn);
	?>
	
	Aqu&iacute; puedes leer los mensajes de los visitantes y tambi&eacute;n puedes dejar el tuyo utilizando el formulario de abajo.
	<br>
	<br>
	<span class=fuente8><b>Muchas gracias por tu participaci&oacute;n</b></span>
	<br>
	<br>
	<?
	//muestro los datos en un bucle 
	$num_filas = 0;///!!!esta es la linea 56 donde da el primer error:!!!
	while (($damefila=mysql_fetch_object($result)) && ($num_filas<10))
	{
		?>
		<table align="center" width="100%" cellspacing="2" cellpadding="0" border="0">
		<tr>
		    <td valign="top" class=fuente8><b>
		<? 	//si el visitante no introdujo nombre muestro como nombre "Anónimo"
			if ($damefila->nombre == "-"){
				echo "Anónimo";
			}elseif ($damefila->email != "-") {
				echo '<a href="mailto:' . $damefila->email . '">' . $damefila->nombre . '</a>';
			}else{
				echo $damefila->nombre;
			}
		?></b>:<br>
		</td></tr>
		<tr><td bgcolor=cccccc colspan="2"><img src="images/pixeltrans.gif" width=1 height=1 border="0"></td></tr>
		<td class=fuente8 valign="top">
			<?echo strip_tags($damefila->comentario)?>
		  <td valign="top" align="right" nowrap class=fuente8>
			Valoracion: <?echo $damefila->valoracion?> 
		</td>
		</tr>
		</table>
		
		<br>
		<?
		$num_filas++;
	} //termina el bucle while
	
	//si quedan más valoraciones en el conjunto de resultados, muestro el enlace de "Ver más"
	if ($damefila)
		echo "<div align=center><b><a href=\"index.php?vermas=$damefila->id_librovisitas_php\">Ver m&aacute;s mensajes</a></b></div><br>";
		
	//libero el conjunto de resultados !!!esta es la linea 94 donde da el segundo error
	mysql_free_result($result);
	
	//incluyo el formulario para firmar
	include ("formul_mensaje.html");
} 
else 
{
	//estoy recibiendo datos del fomulario de firmas
	//Formateamos un poco el formulario, por si acaso los datos son incorrectos
	
	//eliminamos las etiquetas HTML y PHP de las cadenas de texto
	$nombre = strip_tags($_POST["nombre"]);
	$email = strip_tags($_POST["email"]);
	$comentario = strip_tags($_POST["comentario"]);
	
	//Cortamos las cadenas demasiado largas
	$nombre=substr($nombre,0,150);
	$email=substr($email,0,80);
	
	//Comprobamos que el visitante se ha molestado en rellenar algo
	if (strlen($nombre)==0 and strlen($email)==0 and strlen($comentario)==0)
	{
?>
		<div align="center"><b>Gracias por el envío</b>.<br><br>Te agradecer&iacute;amos, no obstante y si no resulta mucho esfuerzo, que rellenases alguno de los campos para dejar constancia de tu visita.</div>
<?
	}else{
		//si alguno de los campos falta prefiero colocar un guión o "sin comentarios"
		if (!$nombre)$nombre="-";
		if (!$email) $email="-";
		if (!$comentario) $comentario="Sin comentarios";
	
		//Generamos la ssql e insertamos el registro
		$ssql = "INSERT INTO librovisitas_php (nombre,email,valoracion,comentario) VALUES ('" . $nombre . "','" . $email . "'," . $_POST["valoracion"] . ",'" . $comentario . "')";
		//echo $ssql . "<p>";
		mysql_query($ssql,$conn);
?>
		<div align="center"><b>Muchas gracias por tu participaci&oacute;n</b></div>
<?
	}
?>
	<br>
	<br>
	<div align="center"><b><a href=".">Volver al libro de visitas</a></b></div>
<?
}

mysql_close($conn);
?>	</td>
</tr>
</table>
<br>

</body>
</html>
bueno espero su ayuda pronto. Gracias.