Foros del Web » Programando para Internet » PHP »

no inserta en la base

Estas en el tema de no inserta en la base en el foro de PHP en Foros del Web. Este es mi codigo me lo procesa pero no lo inserta en la base de datos que error estare comentiendo. gracias... <? $clave =$_POST["txtclaveprod"]; $descripcion ...
  #1 (permalink)  
Antiguo 29/04/2008, 22:43
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
no inserta en la base

Este es mi codigo me lo procesa pero no lo inserta en la base de datos que error estare comentiendo.

gracias...

<?
$clave =$_POST["txtclaveprod"];
$descripcion = $_POST["txtdescrip"];
$precio = $_POST["txtprecio"];

if (($clave=="") || ($descripcion=="") || ($precio=="") ) {
header("articulos.php");
exit;
}

$base="cleanhou_cleanhouse";
$conexion=mysql_connect("localhost","cleanhou_root ","**")or die ('I cannot connect to the database because: ' . mysql_error());
@mysql_select_db($base,$conexion)or die ('ERROR con la base de datos');

$sql = "INSERT INTO articulos (clave,descripcion,precio)
VALUES
($clave,$descripcion,$precio)";
echo"$sql";
$result = mysql_query($sql,$conexion)
or die("Couldn't execute query: $sql, error: " . mysql_error());

?>
  #2 (permalink)  
Antiguo 30/04/2008, 00:41
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: no inserta en la base

primero que nada deberias escapar algunas cosas averigua sobre mysql_real_escape_string();

segundo agrega comillas para delimitar los datos

$sql = "INSERT INTO articulos (clave,descripcion,precio)
VALUES
('$clave','$descripcion','$precio')";

ahora ya deberia funcioanr :)
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 30/04/2008, 04:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: no inserta en la base

Cita:
Iniciado por emiliodeg Ver Mensaje
primero que nada deberias escapar algunas cosas averigua sobre mysql_real_escape_string();

segundo agrega comillas para delimitar los datos

$sql = "INSERT INTO articulos (clave,descripcion,precio)
VALUES
('$clave','$descripcion','$precio')";

ahora ya deberia funcioanr :)
Es PHP asi que creo que le faltan los puntos, la consulta seria esta:


$sql = "INSERT INTO articulos (clave,descripcion,precio) VALUES (".$clave.",".$descripcion.",".$precio.")";

Haber si te sirve.
  #4 (permalink)  
Antiguo 30/04/2008, 07:06
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por drkcid Ver Mensaje
Es PHP asi que creo que le faltan los puntos, la consulta seria esta:


$sql = "INSERT INTO articulos (clave,descripcion,precio) VALUES (".$clave.",".$descripcion.",".$precio.")";

Haber si te sirve.
No me envia ningun error pero tampoco me registra el campo en la tabla , que puede estar fallando?
  #5 (permalink)  
Antiguo 30/04/2008, 07:28
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: no inserta en la base

hola

Que te imprime este echo??

Cita:
echo"$sql";
y comppueba que las variables:

Cita:
$clave =$_POST["txtclaveprod"];
$descripcion = $_POST["txtdescrip"];
$precio = $_POST["txtprecio"];
esten llegando bien
con
Cita:

echo $precio;
  #6 (permalink)  
Antiguo 30/04/2008, 07:42
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por jaronu Ver Mensaje
hola

Que te imprime este echo??



y comppueba que las variables:


esten llegando bien
con
Ya probe si estan llegando bien las variables, me imprime el resultado cuando ejecuto el script pero no lo carga en la tabla de mi base de datos.
  #7 (permalink)  
Antiguo 30/04/2008, 08:14
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Re: no inserta en la base

<?php require_once('Connections/php.php'); ?>
<?php

// colega parece ser en la conexión, o sino verifiCA POR QUE METODO DEL FORMULARIO ESTAS TRABAJANDO POR OTRO METODO $_GET['txtclaveprod']
// otra posibilidad el nombre del control del formulario, o sea el campo de texto tiene que ser igual
//a la variable que acabas de crear $clave =$_POST["txtclaveprod"]; el nombre del control tiene que sertxtclaveprod.

// todo esta bien en el codigo, lo único que tienes que delimitarl el valor por las comillas simples... eso es todo.
//aqui te mando una nueva conexión con la base de datos, sin necesidad de volveros a conextar en cada programación que hagas.
$clave =$_POST["txtclaveprod"];
$descripcion = $_POST["txtdescrip"];
$precio = $_POST["txtprecio"];

if (($clave=="") || ($descripcion=="") || ($precio=="") ) {
header("articulos.php");
exit;
}

$SQL = "INSERT INTO noticias (clave, descripcion, precio) VALUES ('$clave', '$descripcion', '$precio')";

mysql_select_db($database, $php);
$Result = mysql_query($SQL, $php) or die(mysql_error());



?>

esta es la página a insertar la conexión php.php

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$servidor = "localhost";
$database = "php";
$usuario = "root";
$password = "konter";
@ $php = mysql_pconnect($servidor, $usuario, $password) or die("<div style=\"color:FF0000\">Error en la conexión con la base de dato</div>");

?>
  #8 (permalink)  
Antiguo 30/04/2008, 08:20
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: no inserta en la base

pues creo que si no te envia errores, tambien puede ser que no entre el IF

prueba a cambiarlo por este

Código PHP:
if ($clave==NULL $descripcion==NULL $precio==NULL ) { 
  #9 (permalink)  
Antiguo 30/04/2008, 08:27
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Re: no inserta en la base

hola colega, ya verifique algunas cosillas, en mi mata burro...

Bueno pues, verifica si de verdad las variables que acabas de crear en el inicio de la script tenga algún contenido.

$clave =$_POST["txtclaveprod"];
$descripcion = $_POST["txtdescrip"];
$precio = $_POST["txtprecio"];
echo "$clave $descripcion $precio";

Si no muestra nada tiens que ser así $clave=$_POST['clave'] y así concecutivamente, Porque la varible no recibe el parametro por el metodo $_POST, porque el control, o sea, el campo de texto tiene que tener el mismo nombre de la varible $_POST[variable del formulario]

todo lo de más esta bien, excepto en el Value () poner la comillas '$clave' así concecutivamente. Echale un vistaso al formulario y compara el metodo $_POST con el nombre de cada campo... eso es todo.
  #10 (permalink)  
Antiguo 30/04/2008, 09:41
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por Yainys Ver Mensaje
hola colega, ya verifique algunas cosillas, en mi mata burro...

Bueno pues, verifica si de verdad las variables que acabas de crear en el inicio de la script tenga algún contenido.

$clave =$_POST["txtclaveprod"];
$descripcion = $_POST["txtdescrip"];
$precio = $_POST["txtprecio"];
echo "$clave $descripcion $precio";

Si no muestra nada tiens que ser así $clave=$_POST['clave'] y así concecutivamente, Porque la varible no recibe el parametro por el metodo $_POST, porque el control, o sea, el campo de texto tiene que tener el mismo nombre de la varible $_POST[variable del formulario]

todo lo de más esta bien, excepto en el Value () poner la comillas '$clave' así concecutivamente. Echale un vistaso al formulario y compara el metodo $_POST con el nombre de cada campo... eso es todo.
Gracias por tus comentarios

Ya esta probadas la s variables y si me jala dos datos y los muestra con el echo todo lo tengo con $_POST desde el envio en el formulario hasta la recepción , ya probe con las comillas , no me manda ningun error aparentemente me procesa la información pero no la registra en la base de datos, tambien probe el codigo SQL dentro de PHPMYAdmin y funciona bien.
Que otra cosa puede estar fallando?
  #11 (permalink)  
Antiguo 30/04/2008, 09:42
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por jaronu Ver Mensaje
hola

Que te imprime este echo??



y comppueba que las variables:


esten llegando bien
con
Esta probado....alli no hay eror por que si me meustra los datos de la variable
  #12 (permalink)  
Antiguo 30/04/2008, 09:43
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: no inserta en la base

no se si leiste el post que te deje arriba, pero probaste en cambiar el IF???
  #13 (permalink)  
Antiguo 30/04/2008, 10:15
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por jaronu Ver Mensaje
no se si leiste el post que te deje arriba, pero probaste en cambiar el IF???
Que pasa si en lugar de cambiarlo solo lo elimino?

Mi problema es que no registrar mis datos a la tabla de mi base de datos, y los campos de las variables estan pasando sin ningun problema.

Tengo algun detalle en mi codigo algun error que no localizo.

Nota:
Ya habia probado mi codigo en mi servidor y me habia funcionado perfecto ! pero cuando lo subi al servidor de internet comenzaron los problemas, no se si tenga alguna incompatibilidad de versiones.
  #14 (permalink)  
Antiguo 30/04/2008, 11:18
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: no inserta en la base

si quitas el IF pueden entrar en la BD registros vacios.

pero lo has cambiado????

con el if que te puse lo que estas diciendo es que si algun campo esta vacio que redirija a articulos.php y si estan completos los campos, entonces se inserten en la BD
si lo quitas, creo que cada vez que entres en la pagina se insertaran una nueva fila de datos vacia.

Un saludo
  #15 (permalink)  
Antiguo 30/04/2008, 11:23
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: no inserta en la base

y el problema tambien puede estar en los values de la sentencia SQL

Cita:
$sql = "INSERT INTO articulos (clave,descripcion,precio)
VALUES
($clave,$descripcion,$precio)";
prueba usando esta sintaxis para los VALUES

Cita:
$sql = "INSERT INTO articulos (clave,descripcion,precio)
VALUES
(\''.$clave.'\',\''.$descripcion.'\',\''.$precio.' \')";
  #16 (permalink)  
Antiguo 30/04/2008, 11:39
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 125
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: no inserta en la base

miraste si el usuario con el que ingresas a la BD tiene habilitado los permisos para hacer un INSERT?
__________________
alquiler gesell
  #17 (permalink)  
Antiguo 30/04/2008, 11:47
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: no inserta en la base

prueba con esto
Código PHP:
error_reporting("E_ALL");//para que muestre todos los errores generados por php durante el proceso
$clave =$_POST["txtclaveprod"];
$descripcion $_POST["txtdescrip"];
$precio $_POST["txtprecio"];

if (empty(
$clave) || empty($descripcion) || $precio==""){
    
header("LOCATION: articulos.php");//aqui faltaba el location
    
exit();
}

$base="cleanhou_cleanhouse";
$conexion=@mysql_connect("localhost","cleanhou_root ","**") or die ('I cannot connect to the database because: ' mysql_error());
@
mysql_select_db($base,$conexion) or die ('ERROR con la base de datos');

$sql "INSERT INTO articulos VALUES ('$clave','$descripcion',$precio)";
echo 
"$sql";
$result mysql_query($sql,$conexion) or die("Couldn't execute query: $sql, error: " mysql_error()); 
para conocer mas de error_reporting

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #18 (permalink)  
Antiguo 30/04/2008, 14:56
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por jaronu Ver Mensaje
pues creo que si no te envia errores, tambien puede ser que no entre el IF

prueba a cambiarlo por este

Código PHP:
if ($clave==NULL $descripcion==NULL $precio==NULL ) { 
Lo modifique pero no me resolvio el problema.
  #19 (permalink)  
Antiguo 30/04/2008, 14:57
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por jaronu Ver Mensaje
y el problema tambien puede estar en los values de la sentencia SQL



prueba usando esta sintaxis para los VALUES

Lo modifique pero sigue sin cargar a la base de datos
  #20 (permalink)  
Antiguo 30/04/2008, 22:46
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por eits Ver Mensaje
prueba con esto
Código PHP:
error_reporting("E_ALL");//para que muestre todos los errores generados por php durante el proceso
$clave =$_POST["txtclaveprod"];
$descripcion $_POST["txtdescrip"];
$precio $_POST["txtprecio"];

if (empty(
$clave) || empty($descripcion) || $precio==""){
    
header("LOCATION: articulos.php");//aqui faltaba el location
    
exit();
}

$base="cleanhou_cleanhouse";
$conexion=@mysql_connect("localhost","cleanhou_root ","**") or die ('I cannot connect to the database because: ' mysql_error());
@
mysql_select_db($base,$conexion) or die ('ERROR con la base de datos');

$sql "INSERT INTO articulos VALUES ('$clave','$descripcion',$precio)";
echo 
"$sql";
$result mysql_query($sql,$conexion) or die("Couldn't execute query: $sql, error: " mysql_error()); 
para conocer mas de error_reporting

saludos.
siguiendo tu recomendacion me sale es error
Couldn't execute query: INSERT INTO articulos VALUES ('1','asdsd','23'), error: Column count doesn't match value count at row 1
como lo resuelvo

Última edición por RicardoU; 01/05/2008 a las 08:36
  #21 (permalink)  
Antiguo 01/05/2008, 10:49
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por RicardoU Ver Mensaje
siguiendo tu recomendacion me sale es error
Couldn't execute query: INSERT INTO articulos VALUES ('1','asdsd','23'), error: Column count doesn't match value count at row 1
como lo resuelvo
Algo mas que pueda ayudar?

gracias..
  #22 (permalink)  
Antiguo 01/05/2008, 11:01
 
Fecha de Ingreso: abril-2008
Ubicación: Argentina
Mensajes: 20
Antigüedad: 16 años
Puntos: 2
Re: no inserta en la base

Ese error te esta diciendo que tienes algun campo de mas o de menos en el insert, o alguno que en tu base tenias con un valor con defualt precargado y cuando creaste la base en internet la creaste distinta, fijate eso. Tambien vi que pasas como parametro la clave del articulo, esto por lo general no se hace asi, la clave deberia ser un autoincremental y en el insert hiria solo un '' si dejas que la persona ingrese la clave podria poner dos claves iguales por ejemplo.Espero que alguna de estas cosas te sirva.

Saludos

Nico
  #23 (permalink)  
Antiguo 01/05/2008, 13:27
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: no inserta en la base

Cita:
Iniciado por Niko1980 Ver Mensaje
Ese error te esta diciendo que tienes algun campo de mas o de menos en el insert, o alguno que en tu base tenias con un valor con defualt precargado y cuando creaste la base en internet la creaste distinta, fijate eso. Tambien vi que pasas como parametro la clave del articulo, esto por lo general no se hace asi, la clave deberia ser un autoincremental y en el insert hiria solo un '' si dejas que la persona ingrese la clave podria poner dos claves iguales por ejemplo.Espero que alguna de estas cosas te sirva.

Saludos

Nico
Hola la base de datos la importe de mi servidor local pero si algo puede ayudar, mi servidor es Version 5 y la version donde intento trabajar es la Server version: 4.1.22-standard que no me funciona nada de mis codigos ni de consulta de para insertar registros dentro de mis tablas , ni tampoco puedo crear nuevas tablas.

ya revise mi bas de datos , mis tablas nuevamente y esta correctas, meto el codigo con el que trato de insertar los registros desde SQL y funciona bien pero no me funciona desde php.
como puedo resolver este problema?
  #24 (permalink)  
Antiguo 01/05/2008, 15:45
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: no inserta en la base

prueba asi

Código PHP:
$sql "INSERT INTO articulos (clave, descripcion, precio)  VALUES ('.$clave.','.$descripcion.','.$precio.')"
a ver si te funciona
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:03.