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

Ayuda Porfavor!!! En mi base de datos solo me ingresan numeros.

Estas en el tema de Ayuda Porfavor!!! En mi base de datos solo me ingresan numeros. en el foro de Bases de Datos General en Foros del Web. Hola llevo ya mas de 12 horas dandole vuelta a lo mismo y no salgo del apuro. Estoy iniciandome con el php y mysql, y ...
  #1 (permalink)  
Antiguo 20/06/2010, 05:59
 
Fecha de Ingreso: junio-2010
Mensajes: 8
Antigüedad: 13 años, 10 meses
Puntos: 0
Exclamación Ayuda Porfavor!!! En mi base de datos solo me ingresan numeros.

Hola llevo ya mas de 12 horas dandole vuelta a lo mismo y no salgo del apuro. Estoy iniciandome con el php y mysql, y he echo un formulario simple en HTML con solo 3 campos, he creado una base de datos a la que ingresarle estos campos, y un php que los ingrese. Bien algo sencillo, y ademas fuciona, pero solo si en los campos de la html ingreso "numero", en cuanto hay una letra, por ejemplo en el campo de usuario meto "manu" y me da el siguiente error: "Unknown column 'manu' in 'field list'". Esto pasa en los 3 campos, sin embargo si meto solo valores numericos, me lo inserta en la base de datos.
Por favor si alguien sabe el porque y seguramente sera una tonteria ayudenme!!!!

__________________________________________________ ______________



HTML


<html>
<head>
<title>prueba</title>
</head>

<body>
<div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 364px; top: 43px;">
<form name="form1" method="POST" action="prueba.php">
<p>&nbsp;</p>
<table width="246" border="1">
<tr>
<td width="236"><input name="usuario" type="text" id="usuario">
nombre </td>
</tr>
<tr>
<td width="236"><input name="edad" type="text" id="edad">
edad </td>
</tr>
<tr>
<td><input name="dinero" type="text" id="dinero">
dinero</td>
</tr>
<tr>
</table>
<p>
<input type="submit" name="Submit" value="Enviar">
</p>
</form>
</div>
<p>&nbsp;</p>
</body>

__________________________________________________ _______________



PHP


<?php

$usuario = $_POST["usuario"];
$edad = $_POST["edad"];
$dinero = $_POST["dinero"];

if($edad<=18){
die("$usuario,no tienes edad, vuelve cuando tengas 18");
}
{

$conexion = mysql_connect('sql201.zobyhost.com','zoby_5782665' ,'XXXXX');
if(!$conexion){
die('No Conecta:' . mysql_error());
}

$DB = mysql_select_db(zoby_5782665_edad, $conexion);
if(!$DB){
die('No hay acceso a la base de datos.' . mysql_error());
}

$insertar = "INSERT INTO abejas(usuario,edad,dinero)
VALUES($usuario,$edad,$dinero)";
$query = mysql_query($insertar);
if(!$query){
die('No se insertaron los datos' . mysql_error());
}
else{
echo("Enhorabuena $usuario, puedes comprar una botella de alcohol y tus datos quedaron guardados en nuestra base de datos.");
}
}
?>

__________________________________________________ _____________



DB Mysq

CREATE TABLE usuarios(
ID int(8)unsigned NOT NULL auto_increment,
usuario CHAR(15),
edad CHAR(15),
dinero CHAR(20),
PRIMARY KEY(ID)
);

Última edición por kintana; 20/06/2010 a las 07:57
  #2 (permalink)  
Antiguo 20/06/2010, 08:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ayuda Porfavor!!! En mi base de datos solo me ingresan numeros.

Los valores representados por cadenas de caracteres deben quedar encerrados entre apóstrofes en la sentencia INSERT.
Cuando colocas las variables debes tener en cuenta que las mismas pondrán el contenido, pero no le agregarán lo necesario para ser reconocidas como cadenas.
Código PHP:
Ver original
  1. $insertar = "INSERT INTO abejas(usuario,edad,dinero)
  2. VALUES('$usuario', $edad, $dinero)";
En cuanto a los valores numéricos, debes tender cuidado al colocar el valor en el string, porque los números decimales deben ir con punto y no con coma, y además no deben llevar separadores de mil (es decir 12.678,08 se debe escribir 12678.08).

Diferente sería si usases otro lenguaje y los valores entraran como parámetros del objeto de ejecución; en ese caso el conector a la base resuelve el problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: numeros
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 11:49.