Foros del Web » Programando para Internet » PHP »

ayudenme con este error gracias .mysql

Estas en el tema de ayudenme con este error gracias .mysql en el foro de PHP en Foros del Web. Notice: Undefined index: comu in C:\xampp\htdocs\llena_data.php on line 17 errores del MysqlYou have an error in your SQL syntax; check the manual that corresponds to ...
  #1 (permalink)  
Antiguo 07/02/2010, 06:44
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 16 años, 3 meses
Puntos: 1
Pregunta ayudenme con este error gracias .mysql

Notice: Undefined index: comu in C:\xampp\htdocs\llena_data.php on line 17
errores del MysqlYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; VALUES ('fqejqgjg','fwefeq','TERRON COLORADO','','fqfq','fefqefq','fqfq',' at line 1
Código PHP:
    include 'conexion.php';
    
conectar();
$sql "INSERT INTO persona (nombre,dir,barrio,comuna,tele,tele_movil,mail,servidores,ruta_bus_encues,tipo_trans);
 VALUES
  ('$nombre','$direccion','$selbarrio','$comu','$tel_fijo','$tel_cel','$mail','$servidores','$ruta' ,'$transporte')"
;
  
mysql_query($sql) or die ("errores del Mysql".mysql_error());
echo 
"¡Gracias! Hemos recibido sus datos.\n";

echo  
" <script language='javascript1'>window.location='form_encuesta.php'; </script>";

?> 
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
  #2 (permalink)  
Antiguo 07/02/2010, 06:58
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 15 años, 3 meses
Puntos: 66
Respuesta: ayudenme con este error gracias .mysql

Hola,

A ver si te sirve esto, es un ejemplo de dos campos campo1 y campo2 pero lo puedes adaptar a tus necesidades.

Código PHP:
function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue "")
{
  
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}



$insertSQL sprintf("INSERT INTO tabla (campo1, campo2) VALUES (%s, %s)",
            
GetSQLValueString($_POST['campo1'], "int"),
            
GetSQLValueString($_POST['campo2'], "text"));
if(
mysql_query($insertSQL))
    echo&
#8221;Inserción realizada”; 
Saludos
  #3 (permalink)  
Antiguo 07/02/2010, 07:07
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: ayudenme con este error gracias .mysql

existen 2 radio button y un textbox uno de los radios habilita
el text para que definan el por que mi pregunta es como recibo 2 variables en el por
y se conviertan en una opcion que llena el campo de la tabla

gracias

Cita:
$servidores=$_POST["servi"];
$transporte=$_POST["trans"];
$servidores=$_POST["otro_trans"];????
$transporte=$_POST["otro_servi"];??????
Cita:
$sql = "INSERT INTO persona (nombre,dir,barrio,comuna,tele,tele_movil,mail,ser vidores,ruta_bus_encues,tipo_trans);
VALUES
('$nombre','$direccion','$selbarrio','$comu','$tel _fijo','$tel_cel','$mail','$servidores'??????,'$ru ta' ,'$transporte?????---que hago aca---')";
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)
  #4 (permalink)  
Antiguo 07/02/2010, 08:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ayudenme con este error gracias .mysql

Tienes un punto y coma al final del paréntesis de la lista de campos a ingresar:
Código MySQL:
Ver original
  1. INSERT INTO persona
  2.    (nombre,
  3.    dir,
  4.    barrio,
  5.    comuna,
  6.    tele,
  7.    tele_movil,
  8.    mail,
  9.    servidores,
  10.    ruta_bus_ encues,
  11.    tipo_trans); -- <-- Este punto y coma NO VA...
  12.    ('$nombre',
  13.    '$direccion',
  14.    '$selbarrio',
  15.    '$comu',
  16.    '$tel_fijo',
  17.    '$tel_cel',
  18.    '$mail',
  19.    '$servidores',
  20.    '$ruta' ,
  21.    '$transporte') -- <-- Aquí va.
Los puntos y coma, en MySQL, son terminadores de sentencia, con lo que estabas cortando la sentencia en ese punto y la siguiente era a partir del VALUES, lo que no es correcto.
Es posible que haya sido un error de tipeo al querer escribir el script de PHP, y poner en dos renglones la construcción de la sentencia, pero falló.

Ten cuidado al programar SQL, porque diferentes DBMS tienen en ocasiones diferentes terminadores de sentencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 07/02/2010, 10:49
 
Fecha de Ingreso: agosto-2008
Ubicación: Cali . Colombia
Mensajes: 459
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: ayudenme con este error gracias .mysql

me sigue sin dar los radio button me generan conflicto en la basse de datos por que uno toma el valor y lo lleva en el _$post[]
como desactivaria uno y tomara en la valor del trextbox
Cita:
td class="Estilo8"><input type="radio" name="trans" id="otro" value="otro" onclick="otro_trans.disabled = false" />
Otro </td>
</tr>
<tr>
<td class="Estilo8">Telefono Fijo</td>
<td colspan="2"><input name="tel" type="text" id="tel" size="20" /></td>
<td class="Estilo8">&nbsp;</td>
<td class="Estilo8"><label>Cual?
<input name="otro_trans" type="text" id="otro_trans" size="20" disabled="disabled" />
__________________
Jaime P. Bravo
Programador Web
MCP (Microsoft Certified Professional)

Etiquetas: gracias, mysql
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 12:54.