Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Mi base de datos me guarda información incompleta

Estas en el tema de Mi base de datos me guarda información incompleta en el foro de Mysql en Foros del Web. Que tal, pues me estoy iniciando en esto del HTML, PHP y MySQL, tengo un problemilla a la hora de mandar campos de texto largos ...
  #1 (permalink)  
Antiguo 18/08/2008, 21:27
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Información Mi base de datos me guarda información incompleta

Que tal, pues me estoy iniciando en esto del HTML, PHP y MySQL, tengo un problemilla a la hora de mandar campos de texto largos a mi base de datos, al parecer no alcanza a guardarlas de forma completa, pues no sé a que se deba, si alguien puede echarme una ayudita pues se lo agradecerá y si se requiere pues pongo los códigos que tengo.
  #2 (permalink)  
Antiguo 18/08/2008, 21:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Mi base de datos me guarda información incompleta

Pues como les decía tengo problemas al guardar datos en mi BBDD, cuando pongo cadenas cortas todo marcha bien, pero si intento meter una cadena relativamente larga, no me la guarda completa, si pongo un retardo a veces funciona, pero tiene que ser muy largo y en función de la cantidad de texto. Bueno, publico los códigos que tengo.

Primero el archivo index.php


Código:
<?PHP 
ob_start();
//Si se ha hecho click en submit
if (isset($_GET['submit'])){

	include "conectar.php"; //Conectamos a la base de datos
	
	$nick=$_GET['nick'];
	$email=$_GET['email'];
	$comments=$_GET['comments'];
	$sql = "INSERT INTO usuarios (nick, email, comments, date) VALUES('$nick','$email', '$comments', NOW())";
	mysql_query ($sql, $conexion) or die ("<br>Fallo al introcir valores a la tabla");
	
	include "cerrar.php"; //Se cierra la conexión
	//Esta parte no la estoy utilizando por el momento
	/*echo "<script language= \"JavaScript\">
         alert('Gracias');
       	</script>";*/
	echo 'Espera un momento, tu comentario está siendo agregado a la base de datos' ;
	header("Refresh: 5; URL=index.php");
		
	}
else{
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Sistema de comentarios</title>
</head>
<!--Aquí empieza el formulario del comentario -->
<body>
<table border="0">
	<tr>
		<td valign="top">
		Nick<br /><br />
		e-mail<br />
		<font size="-5">* no será publicado</font><br /><br />
		Comentarios<br /><br />
		</td>
		<td>
		<!--Estos son los campos a llenar para el comentario -->
		<form action="<?php $PHP_SELF; ?>" method="get" dir="ltr" lang="es" >
		<input type="text" name="nick" size="25"  /><br /><br />
		<input type="text" name="email" size="25" /><br /><br />
		<textarea name="comments" cols="30" rows="5" lang="es"></textarea><br /><br />
		<input type="submit" value="Enviar" name="submit"/>
		<input type="reset" value="Limpiar"
		</form>
		</td>
	</tr>
</table>

<table border="0" width="500">	
<tr>
	<td>
		<?php
		//Mostramos los datos alojados en la BBDD
		include "conectar.php";
		$show = "select DATE_FORMAT(date,'%d-%m-%Y a las %H:%i') as fecha, nick, email, comments from usuarios order by date desc";
		$resultados = mysql_query($show,$conexion);
		?>
		
		
		<?
		while($row = mysql_fetch_array($resultados))
		{
		$nick=$row["nick"].'<br>';
		?>
		<b><font size="+1" color="#0000FF">
		<?
		echo $nick;
		?>
		</font></b>
		
		<img src="time.png" align="absmiddle" />
		<font size="-1">		
		<?
		$date=$row["fecha"].'<br><br>';
		echo $date;
		?>
		</font>
		
		<?
		$comment=$row["comments"].'<br>';
		?>
		
		<font size="+1">
		<?
		echo $comment;
		?>
		</font>	
		
		<?
		echo '<br><br><br>';
		?>
		<hr />
		<?
		}
		include "cerrar.php";
		?>
	</td>
	</tr>
</table>

</body>
</html>

<? //Esta llave cierra else
 } ?>
Ahora el archivo conectar.php
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Conexión con la base de datos</title>
</head>

<body>
<?php
	$conexion= mysql_connect('db1.host.sk','******','*****)
	or die ("No se puede conectar a la base de datos"); 
		
	mysql_select_db(bbddgdtitm)
	or die("No se puede seleccionar la base de datos");
	?>
</body>
</html>
Y el archivo cerrar.php

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cerrar la conexión con la base de datos</title>
</head>

<body>
<?php
mysql_close($conexion);
?>
</body>
</html>
Bueno pues espero puedan echarme una manita porque ya le he dado miles de vueltas al asunto y nada, en localhost funciona perfectamente, me alojé en www.host.sk, pero al parecer no anda muy bien en velocidad (Gratis al fin!!).
  #3 (permalink)  
Antiguo 19/08/2008, 01:01
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Mi base de datos me guarda información incompleta

gdtitm,
Tal vez el problema no es de base de datos, si, como dices, cuando el texto es corto lo hace bien. En todo caso, sería cosa del tipo de campo y su tamaño, pero creo que no es tu problema. Pregunta en el foro PHP y pide consejo sobre el uso del method GET para contenidos grandes..., pues el method no parece el más adecuado para esos casos, dado que tiene limitaciones de espacio. Por otra parte, al pasar por URL, algunos caracteres pueden darte problemas. Pregúntales a ellos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:50.