Foros del Web » Programando para Internet » PHP »

Insert y update no me funcionan

Estas en el tema de Insert y update no me funcionan en el foro de PHP en Foros del Web. Tengo estos dos script, uno para insertar registros y otro para actualizar pero no me funcionan, ambos me dan el mismo error de sintaxis sql ...
  #1 (permalink)  
Antiguo 24/09/2006, 15:10
 
Fecha de Ingreso: julio-2006
Mensajes: 18
Antigüedad: 17 años, 9 meses
Puntos: 0
Insert y update no me funcionan

Tengo estos dos script, uno para insertar registros y otro para actualizar pero no me funcionan, ambos me dan el mismo error de sintaxis sql que dado mi poca experiencia no consigo averiguar , a ver si alguno de vosotros me puede ayudar:
<h3>PÁGINA PRINCIPAL</H3>
</head>
<body bgcolor="#FFFFD7" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<?php include "header.php"; ?>
<?php
$link = mysql_connect("localhost");
mysql_select_db("extra");
echo "conectado";
?>
<?php
//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){



$campos = "pad,madre,domicilio,telefono,poblacion,provincia, cp,cuenta";
$valores = "'".$_POST['pad']."',";
$valores .= "'".$_POST['madre']."',";
$valores .= "'".$_POST['domicilio']."',";
$valores .= "'".$_POST['telefono']."',";
$valores .= "'".$_POST['poblacion']."',";
$valores .= "'".$_POST['provincia']."',";
$valores .= "'".$_POST['cp']."'";
$valores .= "'".$_POST['cuenta']."',";
$sql ="INSERT INTO padres($campos)
VALUES($valores)";
$res = mysql_query($sql) or die(mysql_error());
echo "Registro ingresado";
}
?>
ESTE ES UPDATE:
<?php include "conecta.php"; ?>
//nos conectamos a mysql
<?php
//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){

$sql = "UPDATE empresas SET ";
$sql .= "id_empresas ='".$_POST['id_empresas']."',";
$sql .= "firstinput ='".$_POST['firstinput']."',";
$sql .= "cif ='".$_POST['cif']."',";
$sql .= "nombre ='".$_POST['nombre']."',";
$sql .= "representante ='".$_POST['representante']."',";
$sql .= "nif ='".$_POST['nif']."',";
$sql .= "domicilio ='".$_POST['domicilio']."',";
$sql .= "poblacion ='".$_POST['poblacion']."',";
$sql .= "provincia ='".$_POST['provincia']."',";
$sql .= "cp ='".$_POST['cp']."',";
$sql.="where id_empresas =".$_POST['id_empresas'];
$res = mysql_query($sql) or die(mysql_error());
}
?>
<?php
//consulta para mostrar los datos.
$sql = "SELECT * FROM empresas WHERE id_empresas = ".$_GET['id_empresas'];
$res= mysql_query($sql) or die (mysql_error());

if( mysql_num_rows($res) >0){
//si hay resultados hacemos la forma.
?>
<form name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<table width="600" border="1" cellpadding="0" cellspacing="0">
<?
//impresión de los datos.
while ($fila = mysql_fetch_array($res)) {
?>

GRACIAS
  #2 (permalink)  
Antiguo 24/09/2006, 15:23
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 3 meses
Puntos: 2
Hola buenas,

Edita y ponlos entre etiquetas de php,asi se leera mejor todo,asi uno se queda cegato..

Un Saludo!!
  #3 (permalink)  
Antiguo 24/09/2006, 15:49
 
Fecha de Ingreso: julio-2006
Mensajes: 18
Antigüedad: 17 años, 9 meses
Puntos: 0
Insert y update no me funcionan

En Update el error me lo da en la linea where.......
Y en insert despues de value.......
no si esto te sirve.-
No se que me quieres decir con editar y....
  #4 (permalink)  
Antiguo 24/09/2006, 15:59
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 3 meses
Puntos: 2
Hola buenas,

cuando creas o editas un mensaje o simplemente escribes una respuesta te sale un icono que pone PHP,si le das hya te aparecen unas etiquetas,entre las dos etiquetas deves poner el codigo y asi se colorea y es mas facil la lectura del mismo.

Te lo digo para otra vez,ahora lo pongo yo:

Código PHP:
<h3>PÁGINA PRINCIPAL</H3>
</head>
<body bgcolor="#FFFFD7" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<?php include "header.php"?>
<?php
$link 
mysql_connect("localhost");
mysql_select_db("extra");
echo 
"conectado";
?>
<?php
//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){



$campos "pad,madre,domicilio,telefono,poblacion,provincia, cp,cuenta";
$valores "'".$_POST['pad']."',";
$valores .= "'".$_POST['madre']."',";
$valores .= "'".$_POST['domicilio']."',";
$valores .= "'".$_POST['telefono']."',";
$valores .= "'".$_POST['poblacion']."',";
$valores .= "'".$_POST['provincia']."',";
$valores .= "'".$_POST['cp']."'";
$valores .= "'".$_POST['cuenta']."',";
$sql ="INSERT INTO padres($campos)
VALUES($valores)"
;
$res mysql_query($sql) or die(mysql_error());
echo 
"Registro ingresado";
}
?>
ESTE ES UPDATE:
<?php include "conecta.php"?>
//nos conectamos a mysql
<?php
//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){

$sql "UPDATE empresas SET ";
$sql .= "id_empresas ='".$_POST['id_empresas']."',";
$sql .= "firstinput ='".$_POST['firstinput']."',";
$sql .= "cif ='".$_POST['cif']."',";
$sql .= "nombre ='".$_POST['nombre']."',";
$sql .= "representante ='".$_POST['representante']."',";
$sql .= "nif ='".$_POST['nif']."',";
$sql .= "domicilio ='".$_POST['domicilio']."',";
$sql .= "poblacion ='".$_POST['poblacion']."',";
$sql .= "provincia ='".$_POST['provincia']."',";
$sql .= "cp ='".$_POST['cp']."',";
$sql.="where id_empresas =".$_POST['id_empresas'];
$res mysql_query($sql) or die(mysql_error());
}
?>
<?php
//consulta para mostrar los datos.
$sql "SELECT * FROM empresas WHERE id_empresas = ".$_GET['id_empresas'];
$resmysql_query($sql) or die (mysql_error());

if( 
mysql_num_rows($res) >0){
//si hay resultados hacemos la forma.
?>
<form name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<table width="600" border="1" cellpadding="0" cellspacing="0">
<?
//impresión de los datos.
while ($fila mysql_fetch_array($res)) {
?>
  #5 (permalink)  
Antiguo 24/09/2006, 16:08
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 3 meses
Puntos: 2
Creo que son las comillas,prueba esto aver:
Código PHP:
$sql.="where id_empresas ='$_POST['id_empresas']'"
Y en insert lo mismo,faltan comillas:
Código PHP:
"INSERT INTO padres('$campos')
VALUES('$valores')"

Creo que es esto,no tengo mucha experiencia aun con bases de datos pero algo parecido preguntaron hace tiempo y era eso,y ami tambien me paso algo parecido,bueno si me equiboco que me rectifiquen pero mientras prueba eso aver si te funciona.

Un Saludo!!
  #6 (permalink)  
Antiguo 24/09/2006, 16:38
 
Fecha de Ingreso: julio-2006
Mensajes: 18
Antigüedad: 17 años, 9 meses
Puntos: 0
Muchas gracias por tu ayuda.-
He probado y sigue sin funcionar.-
A ver que se te ocurre.-
  #7 (permalink)  
Antiguo 24/09/2006, 16:51
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 18 años, 3 meses
Puntos: 5
Buenas, seguramente es esto:

En el insert:

Código PHP:
$valores .= "'".$_POST['cuenta']."',"
acá la coma está mal; si es el último campo, no lleva.

Código PHP:
$valores .= "'".$_POST['cuenta']."' "

El update tiene el mismo problema, pero además le falta el espacio para separar el WHERE:

Código PHP:
$sql .= "cp ='".$_POST['cp']."',";
$sql.="where id_empresas =".$_POST['id_empresas']; 

Código PHP:
$sql .= "cp ='".$_POST['cp']."' ";
$sql.="where id_empresas =".$_POST['id_empresas']; 
En una caso así, lo mejor que podés hacer es hacer un echo de la consulta con los valores ya asignados y probarla con el phpmyadmin. Generalmente los errores se van a ver más claros.

Suerte
Califa
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:58.