PHP - Mensaje antes de ejecutar la consulta Mysql

 
Vista:
Imágen de perfil de Andres

Mensaje antes de ejecutar la consulta Mysql

Publicado por Andres (10 intervenciones) el 28/01/2017 23:44:18
Hola,

Tengo un archivo independiente que ejecuta una consulta (ejecuta.php) el cual lo muestro en un iframe dentro de la misma pagina donde tengo el formulario para realizar la consulta.

Mi pregunta es la siguiente:

Si yo llamo al archivo sin realizar la consulta me aparece un error de configuracion en el servidor (500). Cuando hago la consulta desde el formulario me arroja la informacion correctamente en el frame.

Como puedo hacer para mostrar un mensaje en lugar del error que me arroja el servidor? ó dejar una pagina en blanco sin que apareza nada hasta que se realice la consulta?. Les dejo mi codigo del archivo "ejecutar.php"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
/******** CONECTAR CON BASE DE DATOS **************** */
   $con = mysql_connect("localhost","","");
   if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
/* ********************************************** */
 
/********* CONECTA CON LA BASE DE DATOS  **************** */
   $database = mysql_select_db("cinemaxc_consolidado",$con);
   if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
/* ********************************************** */
 
//ejecutamos la consulta
 
$where="";
if($_POST['ordencompra'])
	$where.=" OrdenCompra='".$_POST['ordencompra']."' AND";
if($_POST['codboc'])
	$where.=" CodBoc='".$_POST['codboc']."' AND";
if($_POST['fecha'])
	$where.=" Fecha='".$_POST['fecha']."' AND";
if($_POST['comprobante'])
	$where.=" Comprobante='".$_POST['comprobante']."' AND";
 
$sql="SELECT * FROM facturacion";
if($where)
	$sql.=" WHERE ".substr($where,0,-3);
 
$result = mysql_query ($sql);
$numero = 0;
// verificamos que no haya error 
if (! $result){
   echo "La consulta SQL contiene errores.".mysql_error();
   exit();
}else {
    echo "<table border='1'><tr><td>Razon Social</td><td>Comprobante</td><td>Localidad</td><td>Orden de Compra</td><td>Cod Boc</td>
         </tr><tr>";
//obtenemos los datos resultado de la consulta
while($row = mysql_fetch_array($result))
  {
	echo "<tr><td><font face=\"verdana\">" .
	    $row["RazonSocial"] . "</font></td>";
    echo "<td><font face=\"verdana\">" .
	    $row["Comprobante"] . "</font></td>";
    echo "<td><font face=\"verdana\">" .
	    $row["Localidad"] . "</font></td>";
    echo "<td><font face=\"verdana\">" .
	    $row["OrdenCompra"]. "</font></td>";
    echo "<td><font face=\"verdana\">" .
	    $row["CodBoc"]. "</font></td></tr>";
    }
    echo "</tr></table>";
 }
   mysql_free_result($result);
  mysql_close($link);
?>

Desde ya muchas gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje antes de ejecutar la consulta Mysql

Publicado por Mauro (1034 intervenciones) el 09/02/2017 20:22:32
Para comenzar, el error 500 no es de "configuración" como dices, es un error interno del servidor que puede deberse (como creo que es tu caso) a la ejecución de una consulta SQL mal formada (Para verificarlo puedes buscar el log de errores del servidor).

Por otro lado, tal vez te convendría usar algo de JavaScript para hacer la llamada a ejecutar.php sólo cuando el formulario ha sido completado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar