Foros del Web » Programando para Internet » PHP »

Consulta sobre Insert en DB

Estas en el tema de Consulta sobre Insert en DB en el foro de PHP en Foros del Web. Hola amigos del foro, tengo un problema para hacer un insert en mi DB mediante un php. Coloco aca el script de la DB: -- ...
  #1 (permalink)  
Antiguo 15/07/2009, 18:23
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 10 años, 10 meses
Puntos: 1
Consulta sobre Insert en DB

Hola amigos del foro, tengo un problema para hacer un insert en mi DB mediante un php.


Coloco aca el script de la DB:

-- Base de datos: `odonto`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `pacientes`
--

CREATE TABLE `pacientes` (
`id_hist_clinica` int(50) NOT NULL auto_increment,
`apellido_nombre` varchar(100) NOT NULL,
`sexo` varchar(100) NOT NULL,
`direccion` varchar(100) NOT NULL,
`cobertura` varchar(100) NOT NULL,
`plan` varchar(100) NOT NULL,
`numero_afiliado` varchar(100) NOT NULL,
`documento` varchar(100) NOT NULL,
`fecha_nacimiento` varchar(100) NOT NULL,
`edad` varchar(100) NOT NULL,
`fecha_consulta` varchar(100) NOT NULL,
`titular` varchar(100) NOT NULL,
`localidad` varchar(100) NOT NULL,
`telefono` varchar(100) NOT NULL,
`ocupacion` varchar(100) NOT NULL,
`origen_paciente` varchar(100) NOT NULL,
`derivado` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
`estado` varchar(100) NOT NULL,
`observaciones` varchar(100) NOT NULL,
PRIMARY KEY (`id_hist_clinica`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `pacientes`
--



Ahora va el php del formulario donde cargo los datos:

Código PHP:
<html>
<
style type="text/css">
<!--
.
style1 {
    
font-familyVerdanaArialHelveticasans-serif;
    
font-size10px;
}
-->
</
style>
<
body>

<
FORM METHOD="POST" ACTION="insert_paciente.php">
<
table width="621" border="0" align="left">
      <
td align="left" width="161" ><span class="style1">Apellido y Nombre:  </span></td>
        <
td align="center" width="450"><INPUT NAME="apellido_nombre" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="450"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Sexo: </span></td>
    <
td align="right" width="450"><label>
    <
INPUT NAME="sexo" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="250">
    </
label></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Direccion:</span></td>
    <
td align="right" width="450"><INPUT NAME="direccion" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="450"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Cobertura Medica: </span></td>
    <
td align="center" width="450"><INPUT NAME="cobertura" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="450"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Plan:</span></td>
    <
td align="center" width="450"><INPUT NAME="plan" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="450"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">N&degde Afiliado:</span></td>
    <
td align="right" width="450"><INPUT NAME="numero_afiliado" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="250"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Documento:</span></td>
    <
td align="right" width="450"><INPUT NAME="documento" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="250"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Fecha de Nacimiento: </span></td>
    <
td align="right" width="450"><INPUT NAME="fecha_nacimiento" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="150"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Edad:</span></td>
    <
td align="right" width="450"><INPUT NAME="edad" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="150"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Fecha de Consulta: </span></td>
    <
td align="right" width="450"><INPUT NAME="fecha_consulta" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="150"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Titular:</span></td>
    <
td align="center" width="450"><INPUT NAME="titular" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="450"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Localidad:</span></td>
    <
td align="center" width="450"><INPUT NAME="localidad" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="450"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Telefono:</span></td>
    <
td align="right" width="450"><INPUT NAME="telefono" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="250"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Ocupacion:</span></td>
    <
td align="right" width="450"><INPUT NAME="ocupacion" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="350"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Origen Paciente: </span></td>
    <
td align="right" width="450"><INPUT NAME="origen_paciente" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="350"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Derivado por : </span></td>
    <
td align="right" width="450"><INPUT NAME="derivado" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="350"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Email: </span></td>
    <
td align="right" width="450"><INPUT NAME="email" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="350"></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Estado: </span></td>
    <
td align="right" width="450"><span class="style1">
      <
label>
      <
select name="estado">
          <
option value="1">Pendiente</option>
          <
option value="2">Aceptado</option>
          <
option value="3">Cancelado</option>
        </
select>
      </
label>
    </
span></td>
<
tr>
    <
td align="left" width="161"><span class="style1">Observaciones: </span></td>
    <
td align="center" width="450"><INPUT NAME="observaciones" MAXLENGTH="25" TYPE="TEXT" VALUE="" width="450" height="200"></td>
<
tr>

    <
td align="right" widht="115"><input name="Reset" type="RESET" Value="Reset"></td>
    <
td align="center" width="450"><INPUT NAME="boton" TYPE="SUBMIT" VALUE="Grabar"></td>
</
TABLE>
</
form>
</
body>
</
html


Y por ultimo les dejo el php que tomaria los datos para hacer el insert:

Código PHP:
<?php
$con 
mysql_connect("localhost","root","");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("odonto"$con);

$sql="INSERT INTO pacientes (apellido_nombre,sexo,direccion,cobertura,plan,numero_afiliado,documento,fecha_nacimiento,edad,fecha_consulta,titular,localidad,telefono,ocupacion,origen_paciente,derivado,email,estado,observaciones,)
VALUES
('$_POST[apellido_nombre]','$_POST[sexo]','$_POST[direccion]','$_POST[cobertura]','$_POST[plan]','$_POST[numero_afiliado]','$_POST[documento]','$_POST[fecha_nacimiento]','$_POST[edad]','$_POST[fecha_consulta]','$_POST[titular]','$_POST[localidad]','$_POST[telefono]','$_POST[ocupacion]','$_POST[origen_paciente]','$_POST[derivado]','$_POST[email]','$_POST[estado]','$_POST[observaciones]')"
;

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

mysql_close($con);
header ("Location: index.php");
?>

El problema surge cuando quiero grabarlo me tira el siguiente error:

Error: Algo está equivocado en su sintax cerca ') VALUES ('asd','asd','asd','asd','asd','asd','asd','asd',' asd' en la linea 1

Alguien puede darme una mano con esto.

Gracias de antemano

Salu2
  #2 (permalink)  
Antiguo 15/07/2009, 18:37
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.591
Antigüedad: 14 años, 2 meses
Puntos: 49
Respuesta: Consulta sobre Insert en DB

en observaciones al final tienes una coma....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 15/07/2009, 18:41
 
Fecha de Ingreso: febrero-2006
Mensajes: 22
Antigüedad: 13 años, 9 meses
Puntos: 0
No lo probe ni nada, solo lo mire.
Pero me parece que tienes una coma de más
/* observaciones,) */

En el Insert

Aps ni me fije que ya habían contestado, asi que para no ser tan fome, te propongo usar una forma mas ordenada de crear tu insert.
Aquí un ejemplo:

$insertaSQL = sprintf ( "INSERT INTO tabla (campo1,campo2) VALUES (%s,%s)",
( $_POST ['campo1'], "text" ),
( $_POST ['campo2'], "text" ));

Usando la función sprintf, te sirve para forzar que el ingreso sea de un tipo y me parece un pelo mas ordenado.

Última edición por GatorV; 15/07/2009 a las 22:35
  #4 (permalink)  
Antiguo 15/07/2009, 18:47
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: Consulta sobre Insert en DB

que grande muchachos, mira vos una simple coma como te jode la cabeza, gracias por la ayuda
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 07:04.