Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consult de php en sql

Estas en el tema de Consult de php en sql en el foro de PHP en Foros del Web. Tengo este php que me anda nomas bien, @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $SQL = "INSERT INTO examen (idex, periodo, grado, archivo, liceo, exvisible) ...
  #1 (permalink)  
Antiguo 20/01/2015, 14:16
 
Fecha de Ingreso: junio-2009
Mensajes: 16
Antigüedad: 14 años, 10 meses
Puntos: 0
Información Consult de php en sql

Tengo este php que me anda nomas bien,
Código PHP:
Ver original
  1. $SQL = "INSERT INTO examen (idex, periodo, grado, archivo, liceo, exvisible)
  2.        VALUES ('$idex','$periodo', '$grado', '$archivo', '$liceo', '$exvisible')";
  3.        
  4. $SQL2= "INSERT INTO solucion (idsol, solvisible, solarchivo, sidex)
  5.        VALUES ('$idsol', '$solvisible', '$solarchivo', '$sidex' )";
  6. if (mysql_query ($SQL))
  7. {
  8. echo "<P><H1> La Alta se ha realizado con exito para:
  9. $idex</P>";
  10. }
  11. else
  12. {
  13. echo "<P>Se ha producido un error para $idex</P>";
  14. }
  15. mysql_close($idCone);
  16. ?>
mi duda es como hago para comprobar si se ejecuta la consulta 1 y 2 al mismo tiempo.
probe con:

Código PHP:
Ver original
  1. if (mysql_query ($SQL)&& ($SQL2))
  2. {
  3. echo "<P><H1> La Alta se ha realizado con exito para:
  4. $idex</P>";
  5. }
  6. else
  7. {
  8. echo "<P>Se ha producido un error para $idex</P>";
  9. }
  10. mysql_close($idCone);
pero no me anda.
No se como hago para comprobar mediante el if que ejecute las dos sentencias y que ingrese los valores respectivos dentro de la bd.
  #2 (permalink)  
Antiguo 20/01/2015, 14:19
 
Fecha de Ingreso: junio-2009
Mensajes: 16
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Consult de php en sql

Ya anda, gracias a todos los que me trataron de ayudar.
Código PHP:
Ver original
  1. if (mysql_query ($SQL) && mysql_query ($SQL2))
  #3 (permalink)  
Antiguo 20/01/2015, 14:30
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: Consult de php en sql

Perfecto, ten en cuenta que se Realiza una Consulta SQL primero y posteriormente la segunda SQL2.

Si falla no se debe a que tengas "TODO" mal, sino a que una de las dos falla, la forma esta bien, pero si quieres depurar el fallo y saber en cual esta el error, podrías usar 2 if separados uno dentro del otro,

Código PHP:
Ver original
  1. if (mysql_query ($SQL) {
  2.       //Aqui resto codigo si esta consulta se ejecuta
  3.      if (mysql_query ($SQL2) {
  4.  
  5.       //Aqui resto codigo si esta consulta se ejecuta
  6.      }
  7.      else {
  8.           echo "Error: " . mysql_error();
  9.      }
  10. }
  11. else {
  12.      echo "Error: " . mysql_error();
  13. }

Saludos .
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #4 (permalink)  
Antiguo 22/01/2015, 00:32
 
Fecha de Ingreso: diciembre-2014
Mensajes: 72
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Consult de php en sql

te recomiendo usar esta linea de codigo despeus de cada insert

Código MySQL:
Ver original
  1. mysql_query($SQL) or die(mysql_error());
  #5 (permalink)  
Antiguo 22/01/2015, 06:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consult de php en sql

Hay por lo menos algunas consideraciones:
1) Si las dos inserciones poseen algún tipo de dependencia, es decir, las respuestas de la "solución", corresponden a un "examen", debe existir una relación fk->pk en esa tabla, lo que hace que la segunda sólo debe insertarse si la primera tuvo éxito. De lo contrario se producirá inconsistencia en la base de datos.
2) No existe un "ejecutarse simultáneamente" en bases de datos. Son sentencias de ejecución secuencial, y en el mismo orden en que le llegan al DBMS.
3) Para completar ambas bien (commit) o ninguna y deshacer la exitosa (rollback), se deben usar transacciones y tablas de tipo InnoDB en MySQL.

En esencia, hay cosas que debes resolver en la base de datos, si quieres que lo que vas a hacer funcione correctamente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: ayuda-php, consulta-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 16:21.