Foros del Web » Programando para Internet » PHP »

problemas con una consulta

Estas en el tema de problemas con una consulta en el foro de PHP en Foros del Web. hola a todos tengo un problema con una consulta mi codigo es el siguiente <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...
  #1 (permalink)  
Antiguo 29/12/2009, 19:01
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
problemas con una consulta

hola a todos tengo un problema con una consulta mi codigo es el siguiente

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?PHP
//pase de variables
$filiacion=$_POST['filiacion'];
$nombre=$_POST['nombre'];
$ingreso=$_POST['ingreso'];
$ct=$_POST['ct'];
$clave=$_POST['clave'];
$prestacion=$_POST['prestacion'];
$propio=$_POST['propio'];
$beneficiario=$_POST['beneficiario'];
$parentesco=$_POST['parentesco'];
$fecha=$_POST['fecha'];
$importe=$_POST['importe'];

//conectamos con la base de datos
$conecta=mysql_connect("localhost", "angel", "angel") or die ('problema conectando' );
// seleccionado la base de datos
mysql_select_db ("prs_solicitudes_prestaciones",$conecta);

$inserta= "INSERT INTO prs_solicitudes_prestaciones (idprs_solicitud,idcentrot,idtipo,casos) VALUES (1,$ct,$prestacion,1)";

// ejecutando el query
mysql_query($inserta) or die ("problema con la consulta"); //error


echo "los siguientes datos fueron agregados correctamente <br>";
echo "Filiacion: $filiacion <br>";
echo "Nombre: $nombre <br>";
echo "Ingreso: $ingreso <br>";
echo "Centro de Trabajo: $ct <br>";
echo "Clave: $clave <br>";
echo "Prestacion: $prestacion <br>";
echo "Propio: $propio <br>";
echo "Beneficiario: $beneficiario <br>";
echo "Parentesco: $parentesco <br>";
echo "Fecha: $fecha <br>";
echo "Importe: $importe <br>";
?>
</body>
</html>

ya que lo ejecuto me aparece el mensaje de error en la consulta y la verdad no se por que me podrian ayudar
  #2 (permalink)  
Antiguo 29/12/2009, 19:11
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: problemas con una consulta

siempre cuando uses un sql agregar el or die pero tambien agrega un mysql_error() para saber q eerror es

mysql_query($inserta) or die ("problema con la consulta". mysql_error()); //error

la sintaxis parece estar bien, el error esta en otra parte
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 29/12/2009, 19:23
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas con una consulta

Cita:
Iniciado por emiliodeg Ver Mensaje
siempre cuando uses un sql agregar el or die pero tambien agrega un mysql_error() para saber q eerror es

mysql_query($inserta) or die ("problema con la consulta". Mysql_error()); //error

la sintaxis parece estar bien, el error esta en otra parte
ya hice lo que me dijiste y me sige mandando el mismo mensaje de error ¿?
  #4 (permalink)  
Antiguo 29/12/2009, 19:25
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: problemas con una consulta

bueno pero cual es ese mensaje, copialo aca
__________________
Degiovanni Emilio
developtus.com
  #5 (permalink)  
Antiguo 29/12/2009, 19:31
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas con una consulta

Cita:
Iniciado por emiliodeg Ver Mensaje
bueno pero cual es ese mensaje, copialo aca
problema con la consulta

// ejecutando el query
mysql_query($inserta) or die ("problema con la consulta".mysql_error());

INCLUSO YA CHEQUE EL CODIGO HTML QUE GENERA Y NO APARECE NADA
  #6 (permalink)  
Antiguo 29/12/2009, 21:28
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: problemas con una consulta

Cita:
Iniciado por escorpio_13 Ver Mensaje
problema con la consulta

// ejecutando el query
mysql_query($inserta) or die ("problema con la consulta".mysql_error());

INCLUSO YA CHEQUE EL CODIGO HTML QUE GENERA Y NO APARECE NADA
Te tiene que decir algo como "Syntax error: unexpected..." o algo como "check your SQL syntax near..."

Eso queremos que copies, ya sabemos que te imprime "problema con la consulta", si eso lo escribiste vos...

El error tal cual te sale en pantalla pone
__________________
HV Studio
Diseño y desarrollo web
  #7 (permalink)  
Antiguo 04/01/2010, 18:55
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas con una consulta

hola perdon por la tardanza de la respuesta pues error de sintaxis no me pone nada y se supone que en teoria eso quiere decir que esta bien escrito mi codigo pero siempre me pone el error que yo le escribi en caso de que la consulta estubiera mal
  #8 (permalink)  
Antiguo 04/01/2010, 19:17
 
Fecha de Ingreso: enero-2010
Mensajes: 127
Antigüedad: 14 años, 3 meses
Puntos: 2
mira yo tengo una buena propuesta haz lo siguiente pa ver que esta pasando lo nque vas hacer es esto:

echo die($inserta);

Luego que lo hagas cargalo y ve lo que arroja te debe estar arrojando la inserción en mysql lo que vas hacer es lo siguiente, copia toda esa inserción en mysql que te mostro verdad, luego te vas a phpmyadmin, luego seleccionas tu base de datos, al estar alli arriba dice SQL apretas ese boton, te va aparecer un cuadro blanco lo que vas hacer es pegar lo que te habias copiado anteriormente alli y le das continuar y alli te va a decir que es lo que pasa.. si tiene un error que no entiendes ponlo aqui para ver que es..

Esto echo die($inserta); lo pones debajo de:

ejemplo:

$inserta= "INSERT INTO prs_solicitudes_prestaciones (idprs_solicitud,idcentrot,idtipo,casos) VALUES (1,$ct,$prestacion,1)";

echo die($inserta);

Última edición por GatorV; 05/01/2010 a las 00:03
  #9 (permalink)  
Antiguo 04/01/2010, 20:04
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas con una consulta

me marca este error cuando recargo la pagina, la linea 29 es el codigo que me pasaste

Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in C:\Program Files\EasyPHP 2.0b1\www\inserta.php on line 29
  #10 (permalink)  
Antiguo 04/01/2010, 20:30
 
Fecha de Ingreso: enero-2010
Mensajes: 10
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: problemas con una consulta

Hola Escorpio,

creo poder ver tu error,

Cita:
$inserta= "INSERT INTO prs_solicitudes_prestaciones (idprs_solicitud,idcentrot,idtipo,casos) VALUES (1,$ct,$prestacion,1)";
ahora transformemos esto en la consulta real, parseadas sus variables:

ejemplo:

INSERT INTO prs_solicitudes_prestaciones ( idprs_solicitud , idcentrot , idtipo , casos ) VALUES ( 1 , ejemplo ct , ejemplo prestacion , 1 ) ,

analizando, los errores que te tiraría son:
- Primero estas usando un "idprs_solicitud" siempre en valor 1 para todas tus entradas,
con lo cual si es una clave primaria de tu tabla te arrojará un error de clave primaria duplicada.

- Segundo, las variables ejemplo ct y ejemplo prestacion, si llegase un string te arrojará
un error sobre que no existen determinadas claves o funciones en mysql X, y si no llegase
un valor real la consulta te quedaría vacia de sus valores, los cuales si no posee un Default
puede que el motor de mysql tambien lo corte arrojando el error.

Te recomiendo tal como decian aqui encima, saques por pantalla el SQL que se ejecutara
con un " echo $inserta" y asi pues ver el verdadero problema.

Un saludo espero te sea de utilidad!
  #11 (permalink)  
Antiguo 04/01/2010, 21:19
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas con una consulta

hola tal y como me dijiste transforme mi consulta con datos "reales" y la insercion si me la hizo pero ya cuando lo trato de hacer con las variables que uso desde PHP me manda el error de que la consulta esta mal que creen que tenga mal
  #12 (permalink)  
Antiguo 05/01/2010, 04:09
 
Fecha de Ingreso: enero-2010
Mensajes: 10
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: problemas con una consulta

lo que debe estar sucediendo es que no lleguen las variables al momento de ejecutarse la consulta y quede algo como " INSERT INTO bla ( val1 , val2 , val3, val4 ) VALUES ( 1, , , 1 ) "
eso seguramente te de error, asegurate de que las variables $_POST te lleguen, haz una
minima comprobación de ello con algun condicional de las importantes por lo menos y
dales valores por default si no llegan:

Código PHP:
Ver original
  1. $ct = 0;  // las inicializo
  2. $prestacion = 0;
  3. if ( $_POST['ct']  ) { $ct = $_POST['ct'] ; }  // si existe POST['ct'] se la asigno a $ct
  4. if ( $_POST['prestacion ']  ) { $prestacion = $_POST['prestacion '] ; }

si al momento de luego ver los datos insertados no tira error pero se insertan en cero
es porq no llegaron correctamente las variables por POST.

Puedes chequear al inicio tambien que lleguen correctamente con un simple:

Código PHP:
Ver original
  1. <?php
  2. var_dump( $_POST );
  3. ?>

eso te mostrara en pantalla todo lo que llego por post, revisa que esten correctos.

Saludos!
  #13 (permalink)  
Antiguo 05/01/2010, 16:52
 
Fecha de Ingreso: agosto-2009
Ubicación: tlalnepantla
Mensajes: 97
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problemas con una consulta

revise si pasaban las variables haciendo esto:

<?PHP
//pase de variables
$clave=$_POST['clave'];
$prestacion=$_POST['prestacion'];
//conectamos con la base de datos
$conecta = mysql_connect("localhost", "angel", "angel") or die ('problema conectando');
// seleccionado la base de datos
mysql_select_db ("prs_solicitudes_prestaciones",$conecta);
$inserta = "INSERT INTO prs_solicitudes_prestaciones (idprs_solicitud,idcentrot,idtipo,casos) VALUES (1,$clave,$prestacion,1)";
// ejecutando el query
mysql_query($inserta);

echo "el ct es $clave <br>";
echo "la prestacion $prestacion";
?>

y si me visualiza los valores que inserto en mi formulario
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:24.