PHP - No agraga registro

 
Vista:

No agraga registro

Publicado por Alejandro Limon F. (8 intervenciones) el 26/08/2008 19:23:38
Hola a todos tengo este form

<HTML>
<HEAD>
<TITLE>Insert.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<form action="insert.php" method="post">
Material<br>
<INPUT TYPE="TEXT" NAME="material"><br>
Medida<br>
<INPUT TYPE="TEXT" NAME="medida"><br>
Calibre<br>
<INPUT TYPE="TEXT" NAME="calibre"><br>
Kg x Ml<br>
<INPUT TYPE="TEXT" NAME="kg/ml"><br>
<INPUT TYPE="SUBMIT" value="Grabar">
</FORM>
</div>
</BODY>
</HTML>
hasta aqui

y tengo este php
este es insert.php
<?php
$con = mysql_connect("localhost","root","pat526");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("cotizarherreria", $con);

$sql="INSERT INTO pesos (material, medida, calibre, Kg/ml)
VALUES
('$_POST[material]','$_POST[medida]','$_POST[calibre]''$_POST[kg/ml]')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con)
?>

por que no me funciona

agrdesco de antemano sus comentarios y ayuda
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:No agraga registro

Publicado por Pineapple (2 intervenciones) el 26/08/2008 20:25:50
Haber cambia esta linea

$sql="INSERT INTO pesos (material, medida, calibre, Kg/ml)
VALUES
('$_POST[material]','$_POST[medida]','$_POST[calibre]''$_POST[kg/ml]')";

por esta otra:

$sql="INSERT INTO pesos(material, medida, calibre, Kg/ml) VALUES(".$_POST['material'].",".$_POST['medida'].",".$_POST['calibre'].",".$_POST['kg/ml'].")";

Haber si te funciona.... y si no favor de incluir tu error

Saludos!
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:No agraga registro

Publicado por Alejandro Limon F. (8 intervenciones) el 26/08/2008 23:35:47
gracias por la respuesta ya lo cambie y me da este error esto son los datos que esatba agregando en el formulario '3x8,18,30)' y no aparece en el mensaje de error el primer campo

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '3x8,18,30)' at line 1
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:No agraga registro

Publicado por Vago (1 intervención) el 26/08/2008 23:59:23
Quizas asi:

$sql="INSERT INTO pesos(material, medida, calibre, Kg/ml) VALUES('".$_POST['material']."','".$_POST['medida']."','".$_POST['calibre']."','".$_POST['kg/ml']."')";
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:No agraga registro

Publicado por Pineapple (183 intervenciones) el 27/08/2008 00:02:07
Mira antes de ver tu codigo nuevamente vasmos a hacer una prueba esto te va a servir mucho en futuros casos, agarra tu query y ponle datos verdaderos ejemplo:

Tienes esto:
$sql="INSERT INTO pesos(material, medida, calibre, Kg/ml) VALUES(".$_POST['material'].",".$_POST['medida'].",".$_POST['calibre'].",".$_POST['kg/ml'].")";

En mysql pon esto o lo que tu quieras:

INSERT INTO pesos(material, medida, calibre, Kg/ml) VALUES('3x8',18,30,20)

Y correlo;

Primero:
Para correr este query en mysql cuentas con la consola, o sino puedes hacerlo con phpmyadmin, y si no puedes bajarte el sqlyog es muy amigable, y se conecta a tu bd y puedes hacer los querys directamente, y de ahi saber si el error esta en tu query o en tu php.

Segundo:
Como tienes la estructura en tu bd? recuerda que si son caracteres como '3x8 en tu bd debe de ser varchar, y en tu query va entre '' y si es numerico no lleva nada, recuerda los tipos de datos poque aqui lo que me pones es esto :

'3x8,18,30)' y ahi no veo que cierres el '3x8 ok?

A lo que quiero llegar es que cheques haber si tu query esta mal o tu codigo php oks?

Ahi me dices...
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
sin imagen de perfil

RE:No agraga registro

Publicado por Alejandro Limon F. (1 intervención) el 27/08/2008 00:34:23
ok deja checo muchas gracias en un rato mas posteo
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:No agraga registro

Publicado por Alejandro Limon F. (8 intervenciones) el 27/08/2008 02:02:24
esta linea si funciona
VALUES ( 'guia 1500', '4 1/2 ', '18', '5.2')";

pero esta no

VALUES(".$_POST['nombre'].",".$_POST['medida'].",".$_POST['calibre'].",".$_POST['peso'].")";
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:No agraga registro

Publicado por Alejandro Limon F. (8 intervenciones) el 27/08/2008 02:31:31
ya se armo esta es la buena al fin :

VALUES('$_POST[nombre]','$_POST[medida]','$_POST[calibre]','$_POST[peso]')";

gracias por tu atencion
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:No agraga registro

Publicado por Diego Romero (1450 intervenciones) el 27/08/2008 06:15:47
Un consejo. No uses las variables de $_POST directamente dentro de la sentencia SQL. Si un usuario escribe esto en el campo "nombre":

Esto es' un nombre

SQL piensa que el dato termina en la ' y el resto es el nombre del siguiente campo en el INSERT, tendrás un dato trunco y un error en la sentencia SQL.
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:No agraga registro

Publicado por Alejandro Limon F. (8 intervenciones) el 27/08/2008 17:44:59
oooooook , pero esntonces como tomas el valor disculpa la pregunta talves de principiante pero eso soy

Gracias
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:No agraga registro

Publicado por Pineapple (183 intervenciones) el 27/08/2008 19:05:25
Pues si creo saber lo que dice diego esque recibas el post y lo iguales a una variable asi mas o menos

$nombre = $_POST['nombre']

Saludos!
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:No agraga registro

Publicado por Diego Romero (1450 intervenciones) el 27/08/2008 19:13:26
Sí y además tomaría otras precauciones como ser que no esté vacío ese parámetro.

$nombre = @$_POST["nombre"];

if (empty($nombre)) { echo "Nombre está vacío"; }

escapar las comillas para hacerlas compatibles con SQL:

$nombre = addslashes($nombre);

y quitar código HTML inyectado:

$nombre = htmlentities($nombre);
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:No agraga registro

Publicado por Alejandro (8 intervenciones) el 27/08/2008 23:59:05
Pues muchas gracias por sus comentarios, realmente soy muy pero muy nuevo en esto del php pero creo entender lo que me dicen si Ustedes pudieran recomendarme alguna pagina donde pueda haber algun manual pero de modo practico de los agradeceria

y nuevamente gracias
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