Foros del Web » Programando para Internet » PHP »

problemas con insert into

Estas en el tema de problemas con insert into en el foro de PHP en Foros del Web. amigos del foro , tengo una duda con el siguiente codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $sqlx = "SELECT           ...
  #1 (permalink)  
Antiguo 29/06/2011, 20:01
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
problemas con insert into

amigos del foro ,

tengo una duda con el siguiente codigo

Código PHP:
Ver original
  1. $sqlx="SELECT
  2.             proyectos.idproyecto,
  3.             proyectos.nombreproyecto,
  4.             proyectos.archivo,
  5.             proyectos.idareaespecializacion,
  6.             areaespecializacion.idareaespecializacion,
  7.             proyectos.idportafolio
  8.        FROM
  9.             proyectos
  10.       INNER JOIN areaespecializacion ON proyectos.idareaespecializacion = areaespecializacion.idareaespecializacion
  11.       WHERE proyectos.idportafolio= ".$_GET['idportafolio']."
  12.       AND areaespecializacion.idareaespecializacion = '$idareaespecializacion'";


esa variable que tomo a traves del metodo GET ( ".$_GET['idportafolio'].")necesito insertarla en la base de datos , lo e echo de la siguiente manera pero me deja el campo en 0

Código PHP:
Ver original
  1. $sql_imagen="INSERT INTO proyectos (archivo,nombreproyecto,idareaespecializacion,idportafolio,fecha) values('".$HTTP_POST_FILES['archivo']['name']."','".$_POST["nombreproyecto"]."','".$_POST["areaespecializacion"]."','".$_GET["idportafolio"]."',NOW())";
  2. $result_imagen=mysql_query($sql_imagen,$link) or die ("consulta1: ".mysql_error());

nose que estoy haciendo mal espero puedan ayudarme .

Saludos y gracias e aprendido un monton leyendolos .
  #2 (permalink)  
Antiguo 29/06/2011, 20:14
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: problemas con insert into

ya le hiciste un echo a $_GET['idportafolio'] , para ver que es lo que muestra?
__________________
la la la
  #3 (permalink)  
Antiguo 29/06/2011, 20:24
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

me arroja este error

Código SQL:
Ver original
  1. 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 'AND areaespecializacion.idareaespecializacion = '1'' at line 12

y el codigo completo donde inserto esos datos es
Código PHP:
Ver original
  1. $sql_imagen="INSERT INTO proyectos (archivo,nombreproyecto,idareaespecializacion,idportafolio,fecha) values('".$HTTP_POST_FILES['archivo']['name']."','".$_POST["nombreproyecto"]."','".$_POST["areaespecializacion"]."','".$_GET["idportafolio"]."',NOW())";
  2. $result_imagen=mysql_query($sql_imagen,$link) or die ("consulta1: ".mysql_error());
  3.  
  4. //copia archivo en carpeta temporal
  5. if(move_uploaded_file($_FILES['archivo']['tmp_name'],"/home/xxx/public_html/xxx/d/xxxx/".$_FILES['archivo']['name']."")){
  6. header("Location:index.php?v=misproyectos&idportafolio=$idportafolio");
  7.  
  8. }

Saludos
  #4 (permalink)  
Antiguo 30/06/2011, 18:29
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

Alguien me podria ayudar o alguna idea de como solucionarlo ?


Saludos
  #5 (permalink)  
Antiguo 30/06/2011, 19:36
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: problemas con insert into

parece ser que no existe ningun registro en que el campo "areaespecializacion.idareaespecializacion" sea igual a 1

probá poniendole comillas simples a esta linea



reemplazar esto:

WHERE proyectos.idportafolio= ".$_GET['idportafolio']."


por esto:

WHERE proyectos.idportafolio= '".$_GET['idportafolio']."'
__________________
la la la
  #6 (permalink)  
Antiguo 30/06/2011, 20:05
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

truman_truma , muchas gracias por responder efectivamente la primera consulta funciona perfectamente pertenece al archivo misproyectos.php

Código PHP:
Ver original
  1. <form action="operacion.php" method="POST" enctype="multipart/form-data">
  2. <input type="hidden" value="subeimagen" name="operacion">
  3. <br>
  4. <h5>SUBIR PROYECTOS</h5><br>
  5. <table cellspacing="7" border="0" widht="500" bgcolor="#efeff5" class="letras">
  6.   <tr>
  7.     <td>Subir Im&aacute;gen</td>
  8.     <td><input name="archivo" type="file"></td>
  9.   </tr>
  10.   <tr>
  11.     <td>Nombre del Proyecto:</td>
  12.     <td><input type="text" name="nombreproyecto"></td>
  13.   </tr>
  14.   <tr>
  15.     <td>Tipo de Proyecto</td>
  16.     <td>   
  17.         <SELECT NAME="areaespecializacion">
  18.             <?php
  19.                 $sql="select * from areaespecializacion";
  20.                 $resultado=mysql_query($sql,$link)or die(mysql_error());
  21.                     while($row = mysql_fetch_array($resultado)) {
  22.                             $idareaespecializacion=$row["idareaespecializacion"];
  23.                             $areaespecializacion=$row["areaespecializacion"];
  24.                          
  25.                             echo"<option value=$idareaespecializacion>$areaespecializacion</option>";
  26.                        
  27.                         }
  28.             ?>
  29.         </SELECT></td>
  30.   </tr>
  31.   <tr>
  32.     <td colspan="2"></td>
  33.   </tr>
  34.   <tr>
  35.     <td></td>
  36.     <td valign="center"><input type="submit" value="Subir Proyecto" class="botones" /></td>
  37.   </tr>
  38. </table>
  39. </form>
  40.  
  41.  
  42.  
  43. <br><br>
  44. <h5>PROYECTOS</h5><br>
  45. <?php
  46. $sql="SELECT * FROM areaespecializacion";
  47. $resultado=mysql_query($sql,$link)or die(mysql_error());
  48. while($row = mysql_fetch_array($resultado)) {
  49. $idareaespecializacion=$row["idareaespecializacion"];
  50. $areaespecializacion=$row["areaespecializacion"];
  51.    
  52.     echo"<b>$areaespecializacion</b><br>";
  53.  
  54. $sqlx="SELECT
  55.             proyectos.idproyecto,
  56.             proyectos.nombreproyecto,
  57.             proyectos.archivo,
  58.             proyectos.idareaespecializacion,
  59.             areaespecializacion.idareaespecializacion,
  60.             proyectos.idportafolio
  61.        FROM
  62.             proyectos
  63.       INNER JOIN areaespecializacion ON proyectos.idareaespecializacion = areaespecializacion.idareaespecializacion
  64.       WHERE proyectos.idportafolio= ".$_GET['idportafolio']."
  65.       AND areaespecializacion.idareaespecializacion = '$idareaespecializacion'";
  66.  
  67. echo "".$_GET['idportafolio']."";
  68. $resultadox=mysql_query($sqlx,$link)or die(mysql_error());
  69. while($rowx = mysql_fetch_array($resultadox)) {
  70.         $idproyecto=$rowx["idproyecto"];
  71.         $archivo=$rowx["archivo"];
  72.         $nombreproyecto=$rowx["nombreproyecto"];
  73.         $areaespecializacion=$rowx["areaespecializacion"];
  74.  
  75.         echo"<a href=\"index.php?v=editaimagen&imagen=$idproyecto\" class=borderit><IMG SRC=\"tamanoimagen.php?src=proyectos/".$archivo."&x=138&y=104\" BORDER=0 ALT=\"".$nombreproyecto."\" style=\"margin-bottom:8;margin-top:8;margin-right:8;margin-left:8;\"></a>";
  76.    
  77.     }
  78.     echo"<hr><br>";
  79. }
  80.  
  81. ?>
codigo completo misproyectos.php

ahora al intentar insertar registros tengo el problema

Código PHP:
Ver original
  1. case subeimagen:
  2.  
  3. $sql_imagen="INSERT INTO proyectos (archivo,nombreproyecto,idareaespecializacion,idportafolio,fecha) values('".$HTTP_POST_FILES['archivo']['name']."','".$_POST["nombreproyecto"]."','".$_POST["areaespecializacion"]."','".$_GET["idportafolio"]."',NOW())";
  4. $result_imagen=mysql_query($sql_imagen,$link) or die ("consulta1: ".mysql_error());
  5.  
  6. //copia archivo en carpeta temporal
  7. if(move_uploaded_file($_FILES['archivo']['tmp_name'],"/home/xxx/public_html/xxx/d/proyectos/".$_FILES['archivo']['name']."")){
  8. header("Location:index.php?v=misproyectos&idportafolio=$idportafolio");
  9.  
  10. }
  11. break;

archivo operacion.php

y mis tablas son las siguientes
tabla proyectos

Código SQL:
Ver original
  1. [B]idproyecto nombreproyecto    archivo         idareaespecializacion idportafolio[/B]
  2.     1          project1         imagen1.jpg 1                              0
  3.     2          proyecto2            imagen2.jpg     1                              0


tabla portafolio

Código MySQL:
Ver original
  1. idportafolio    nombreportafolio
  2.         1             portafolio 1
  3.         2             portafolio 2

espero haber sido un poco mas claro ,

Saludos
  #7 (permalink)  
Antiguo 30/06/2011, 20:27
Avatar de victor_aguilar  
Fecha de Ingreso: junio-2011
Ubicación: México DF
Mensajes: 67
Antigüedad: 12 años, 10 meses
Puntos: 10
Respuesta: problemas con insert into

por que no intentas guardar el resultado de get en una variable o pasala a través del post también, creo que estas ocupando los metodos get y post al mismo tiempo
salu2
__________________
"... tiene la vida un lánguido argumento que no se acaba nunca de aprender"
Joaquín Sabina
  #8 (permalink)  
Antiguo 30/06/2011, 20:31
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

victor_aguilar , gracias por comentar pero como seria un ej de los que indicas .

Saludos
  #9 (permalink)  
Antiguo 01/07/2011, 08:19
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

Alguien podria darme otra sugerencia de como reparar mi error.

Saludos
  #10 (permalink)  
Antiguo 01/07/2011, 15:47
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

Hice lo que me indicabas de guardar el Get en una variable pero aun asi no me funciona ademas hice un

Código PHP:
Ver original
  1. $idportafolio=$_GET["idportafolio"];
  2. var_dump("$idportafolio");

y me arroja el siguiente error :

string(0) ""

espero alguien pueda iluminarme el camino y resolver mi problema.

Saludos
  #11 (permalink)  
Antiguo 01/07/2011, 15:59
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: problemas con insert into

te hace falta el campo fecha no lo veo pero si se te olvido ponerlo y SI lo tienes, te recomendaria que insertaras de uno en uno para probar la sentencia y ver en que falla
ejemplo:
Cita:
$sql_imagen="INSERT INTO proyectos (archivo) values('".$HTTP_POST_FILES['archivo']['name']."')";
$sql_imagen="INSERT INTO proyectos (nombreproyecto) values('".$_POST["nombreproyecto"]."')";
etc....
pero asi en vista rapida supngo que te falla en el campo fecha , puede que tengas problemas con el formato en que lo envias (puede no ser compatible con el formato que lo guardas)
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #12 (permalink)  
Antiguo 01/07/2011, 16:02
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

PIRRUMAN ,

Código PHP:
Ver original
  1. $idportafolio=$_GET["idportafolio"];
  2. $sql_imagen="INSERT INTO proyectos (archivo,nombreproyecto,idareaespecializacion,idportafolio,fecha) values('".$HTTP_POST_FILES['archivo']['name']."','".$_POST["nombreproyecto"]."','".$_POST["areaespecializacion"]."','".$idportafolio."',NOW())";
  3. $result_imagen=mysql_query($sql_imagen,$link) or die ("consulta1: ".mysql_error());
, con el campo fecha no tengo problemas , lo unico que no funciona es el $idportafolio .

Saludos y gracias por comentar
  #13 (permalink)  
Antiguo 01/07/2011, 16:07
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: problemas con insert into

y q error te envia?
imprimie en pantalla la consulta

un
Código PHP:
Ver original
  1. print $sql_imagen;

lo que te envie lo copias y lo eecutas en phpmyadmin
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #14 (permalink)  
Antiguo 01/07/2011, 16:13
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

me imprimio esto
Código SQL:
Ver original
  1. INSERT INTO proyectos (archivo,nombreproyecto,idareaespecializacion,idportafolio,fecha) VALUES('billetera.jpg','rerwerwer','1','',NOW())
,lo inserte en el phpmyadmin y me ingreso todo menos el idportafolio .

Saludos
  #15 (permalink)  
Antiguo 01/07/2011, 16:26
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: problemas con insert into

no es problema del insert si no de la variable que recoges intenta
poner
$idportafolio=$_GET["idportafolio"];
antes de cualquier sql

has tu select e imprimelo como imprimiste el insert y despues imprime de nuevo el insert
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #16 (permalink)  
Antiguo 01/07/2011, 16:59
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con insert into

hice lo que me indicas y me imprimio esto

Código SQL:
Ver original
  1. SELECT proyectos.idproyecto, proyectos.nombreproyecto, proyectos.archivo, proyectos.idareaespecializacion, areaespecializacion.idareaespecializacion, proyectos.idportafolio FROM proyectos INNER JOIN areaespecializacion ON proyectos.idareaespecializacion = areaespecializacion.idareaespecializacion WHERE proyectos.idportafolio= 2 AND areaespecializacion.idareaespecializacion = '1'

efectivamente me imprime bien esa sentencia sql

si el problema es a la hora de insert idportafolio .

Saludos
  #17 (permalink)  
Antiguo 01/07/2011, 17:05
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: problemas con insert into

podrias enviar sin division tu codigo donde selccionas e insertas? es extraño que se pierda la variable en el insert y en el select no
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: insert
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 13:19.