Foros del Web » Programando para Internet » PHP »

Acceso con PHP a Mysql problemático

Estas en el tema de Acceso con PHP a Mysql problemático en el foro de PHP en Foros del Web. Hola, muy buenas. Tengo un problemilla, estoy programando una aplicación web, la cual tras un formulario ingresa en una base de datos los campos del ...
  #1 (permalink)  
Antiguo 23/02/2012, 17:20
 
Fecha de Ingreso: noviembre-2010
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Acceso con PHP a Mysql problemático

Hola, muy buenas.

Tengo un problemilla, estoy programando una aplicación web, la cual tras un formulario ingresa en una base de datos los campos del form.
Código:
<?php

$con = mysql_connect("xxxxxxxx","xxxxxxx","xxxxxxxxxxxxx");
if (!$con)
  {
  die('No se pudo seleccionar BD: ' . mysql_error());
  }
$Cod_Nombre = $_POST['Cod_Nombre'];
$Nombre_Vino= $_POST['Nombre_Vino'];
$URL = $_POST['URL'];
$PVP = $_POST['PVP'];
$Tipo_Vino = $_POST['Tipo_Vino'];
$Tipo_Uva = $_POST['Tipo_Uva'];
$Bodega = $_POST['Bodega'];
$Envejecimiento = $_POST['Envejecimiento']; 
$Cod_Alimento = $_POST['Cod_Alimento'];
$Cod_Annada = $_POST['Cod_Annada'];
$Cod_DO = $_POST['Cod_DO'];

mysql_select_db("xxxxxxxxx", $con);


$sql="INSERT INTO vino (Cod_Nombre, Nombre_Vino, URL, PVP, Tipo_Vino, Tipo_Uva, Bodega, Envejecimiento, Cod_Alimento, Cod_Annada, Cod_DO)
VALUES (".$Cod_Nombre.",'".$Nombre_Vino."','".$URL."',".$PVP.",".$Tipo_Vino.",".$Tipo_Uva.",".$Bodega.",".$Envejecimiento.",".$Cod_Alimento.",".$Cod_Annada.",".$Cod_DO.")";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 Añadido<br/>";
echo "<a href='insertarvino.php'>Volver atrás</a>";


mysql_close($con);
?>
Los campos que vienen del form se llaman como los uso en el código anterior.
El error que me da es:
Código:
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 '2)' at line 2
.
Alguien sabe por que tiene que ver? Os agradecería mucho vuestra ayuda!!
Saludos y gracias de nuevo!!
  #2 (permalink)  
Antiguo 23/02/2012, 17:26
 
Fecha de Ingreso: julio-2010
Mensajes: 393
Antigüedad: 13 años, 9 meses
Puntos: 67
Respuesta: Acceso con PHP a Mysql problemático

Es un error de sql, has un echo de $sql para examinarlo mejor, si no puedes encontrar el error, pon acá lo que imprime en pantalla el echo, así nos será más fácil verlo.
__________________
Páginas web de alta calidad y hechas a la medida.
  #3 (permalink)  
Antiguo 23/02/2012, 17:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Acceso con PHP a Mysql problemático

Ese error es de mysql, imprime el sql que estan mandadon con un echo para q vez cual es el error tal vez te falte una comilla sencilla en el 2.
Salu2.
  #4 (permalink)  
Antiguo 23/02/2012, 17:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Acceso con PHP a Mysql problemático

El echo del sql:
INSERT INTO vino (Cod_Nombre, Nombre_Vino, URL, PVP, Tipo_Vino, Tipo_Uva, Bodega, Envejecimiento, Cod_Alimento, Cod_Annada, Cod_DO) VALUES (1, '1', '1', , 2, 2, 2, 2, 2, , 2)
Gracias de nuevo por responder tan rapido!
  #5 (permalink)  
Antiguo 23/02/2012, 17:59
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Acceso con PHP a Mysql problemático

Cita:
Iniciado por xiwen93 Ver Mensaje
El echo del sql:
INSERT INTO vino (Cod_Nombre, Nombre_Vino, URL, PVP, Tipo_Vino, Tipo_Uva, Bodega, Envejecimiento, Cod_Alimento, Cod_Annada, Cod_DO) VALUES (1, '1', '1'
Cita:
, ,
2, 2, 2, 2, 2
Cita:
, ,
2)
Gracias de nuevo por responder tan rapido!
Esas ,, seguidas deben ser el problema revisa los formularios y si hay campos vacios envia las comillas vacias 1,'1','',2
  #6 (permalink)  
Antiguo 23/02/2012, 18:05
 
Fecha de Ingreso: noviembre-2010
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Acceso con PHP a Mysql problemático

Ya ya, he estado mirando eso, en los formularios yo lo veo bien, vaya eso creo xd, ya no se que pensar...
Os adjunto los formularios :S Ya siento toda esta molestia, gracias de nuevo :)
Código:
<form action="insertamosvinos.php" method="post" enctype="multipart/form-data">
<table width="200" border="1" cellspacing="1" align="center">
  <tr>
    <td><span class="Estilo1"><strong>Cod_Nombre</strong></span></td>
    <td> <span class="Estilo1">(solo insertamos numeros aqu&iacute;)</span><input type="text" maxlength="100" name="Cod_Nombre"/></td>
  </tr>
  <tr>
    <td><span class="Estilo1"><strong>Nombre del vino</strong></span></td>
    <td> <span class="Estilo1"></span><input  type="text" maxlength="100" name="Nombre_Vino"/></td>
  </tr>
   <tr>
    <td><span class="Estilo1"><strong>URL Vino</strong></span></td>
    <td> <span class="Estilo1"></span><input type="text" maxlength="100" name="URL"/></td>
  </tr>
  <tr>
    <td><span class="Estilo1"><strong>PVP</strong></span></td>
    <td> <span class="Estilo1"></span><input type="text" maxlength="100" name="PVP"/></td>
  </tr>
  <tr>
    <td><span class="Estilo1"><strong>Tipo de Vino</strong></span></td>
    <td> <span class="Estilo1"></span>';
echo "<select name='Tipo_Vino'>";

		
		
       	
	$sql1 = mysql_query("SELECT Cod_Vino, Tipo_Vino FROM tipo_vino ");  	
	while($row1 = mysql_fetch_array($sql1)){
		$Cod_Vino1=$row1['Cod_Vino'];
		$Cod_Vino2=$row1['Tipo_Vino'];
		echo " <option value='".$Cod_Vino1."'>".$Cod_Vino2."</option>";
}
	
	

echo '</select></td>
  </tr>
  <td><span class="Estilo1"><strong>Tipo de Uva</strong></span></td>
    <td> <span class="Estilo1"></span>';
echo "<select name='Tipo_Uva'>";

		
		
       	
	$sql1 = mysql_query("SELECT Cod_Uva, Tipo_Uva FROM tipo_uva");  	
	while($row1 = mysql_fetch_array($sql1)){
		$Cod_Uva1=$row1['Cod_Uva'];
		$Cod_Uva2=$row1['Tipo_Uva'];
		echo " <option value='".$Cod_Uva1."'>".$Cod_Uva2."</option>";
}
	
	

echo '</select></td>
  </tr>
 <tr>
    <td><span class="Estilo1"><strong>Bodega</strong></span></td>
    <td> <span class="Estilo1"></span>';
echo "<select name='Bodega'>";

		
		
       	
	$sql1 = mysql_query("SELECT Cod_Bodega, Nombre_Bodega FROM bodega ");  	
	while($row1 = mysql_fetch_array($sql1)){
		$Cod_Bodega1=$row1['Cod_Bodega'];
		$Cod_Bodega2=$row1['Nombre_Bodega'];
		echo " <option value='".$Cod_Bodega1."'>".$Cod_Bodega2."</option>";
}
	
	


echo '</select></td>
  </tr>

<tr>
    <td><span class="Estilo1"><strong>Envejecimiento</strong></span></td>
    <td> <span class="Estilo1"></span>';
echo "<select name='Envejecimiento'>";

		
		
       	
	$sql1 = mysql_query("SELECT * FROM envejecimiento ");  	
	while($row1 = mysql_fetch_array($sql1)){
		$Envejecimiento1=$row1['Envejecimiento'];
		$Envejecimiento=$row1['Cod_Envejecimiento'];
		echo " <option value='".$Envejecimiento."'>".$Envejecimiento1."</option>";
}
	



echo '</select></td>
  </tr>

<tr>
    <td><span class="Estilo1"><strong>Pincho más recomendado</strong></span></td>
    <td> <span class="Estilo1"></span>';
$sql = mysql_query("SELECT DISTINCT Alimento, Cod_Nombre_Alimento FROM alimento");  
echo "<select name='Cod_Alimento'>";

while($row = mysql_fetch_array($sql)){

		$Cod_Nombre_Alimento=$row['Cod_Nombre_Alimento'];
		$Alimento=$row['Alimento'];
       	
		
		
		echo " <option value='".$Cod_Nombre_Alimento."'>".$Alimento."</option>";

	}
	
echo '</select></td>
  </tr>

<tr>
    <td><span class="Estilo1"><strong>Añada</strong></span></td>
    <td> <span class="Estilo1"></span>';
echo "<select name='Cod_Annada'>";

		
		
       	
	$sql1 = mysql_query("SELECT Annada FROM annada");  	
	while($row1 = mysql_fetch_array($sql1)){
		$Cod_Anada1=$row1['Cod_Annada'];
		$Cod_Anada2=$row1['Annada'];
		echo " <option value='".$Cod_Anada."'>".$Cod_Anada2."</option>";
}
	
	echo '</select></td>
  </tr>

<tr>
    <td><span class="Estilo1"><strong>Denominación de Origen</strong></span></td>
    <td> <span class="Estilo1"></span>';
echo "<select name='Cod_DO'>";

		
		
       	
	$sql1 = mysql_query("SELECT Cod_DO, Denominacion_Origen FROM do");  	
	while($row1 = mysql_fetch_array($sql1)){
		$Cod_DO1=$row1['Denominacion_Origen'];
		$Cod_DO=$row1['Cod_DO'];
		echo " <option value='".$Cod_DO."'>".$Cod_DO1."</option>";
}
	

	echo'</select></td>
  #7 (permalink)  
Antiguo 23/02/2012, 21:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Acceso con PHP a Mysql problemático

puedes utilizar el print_r() o var_dump() para hacer un debug en tu código y ver que esta fallando, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 25/02/2012, 19:07
 
Fecha de Ingreso: marzo-2011
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 1
Información Respuesta: Acceso con PHP a Mysql problemático

Intenta con esto!
Código PHP:

$sql
='INSERT INTO vino (Cod_Nombre, Nombre_Vino, URL, PVP, Tipo_Vino, Tipo_Uva, Bodega, Envejecimiento, Cod_Alimento, Cod_Annada, Cod_DO)
VALUES (\''
.$Cod_Nombre.'\',\''.$Nombre_Vino.'\',\''.$URL.'\',\''.$PVP.'\',\''.$Tipo_Vino.'\',\''.$Tipo_Uva.'\',\''.$Bodega.'\',\''.$Envejecimiento.'\',\''.$Cod_Alimento.'\',\''.$Cod_Annada.'\',\''.$Cod_DO.'\')'
Espero que te sirva de ayuda

Dimuler

Etiquetas: formulario, mysql, sql
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 22:12.