Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/04/2014, 09:06
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
De acuerdo Respuesta: Warning: mysql_close(): 4 is not a valid MySQL-Link resource...

Cita:
Iniciado por Alexis88 Ver Mensaje
Quizá si muestras todo el código de ese script, podamos ayudarte a encontrar el problema...
Te tomé la palabra, maestro, y decidí poner el código completo... pero como es mi costumbre, lo estaba reduciendo lo más posible para dejar sólo lo que interviene en el problema y no embotar la mirada de quien lo leyera, como es la horrible costumbre de otros, como éste. Pero mientras iba borrando líneas, encontré el problema .

Resulta que gnzsoloyo y tú tenían razón, estaba tratando de cerrar una conexión ya cerrada. Muestro cómo estaba la cosa.

Código PHP:
if ( (!isset($_POST["formaEntrada"])) && (!isset($_POST["formaRegistro"])) )
{
    include(
"formaEntrada.php");
}





else if ( isset(
$_POST["formaEntrada"]) )
{    
    include(
"conexion.php");

    
$entrarEmail      $_POST["emailDeFormaEntrada"];
    
$entrarContrasena $_POST["contrasenaDeFormaEntrada"];
    
$query            "SELECT email, contrasena from registros WHERE email='$entrarEmail'";
    
$datos            mysql_query($query) or die(mysql_error());

    if ( 
mysql_num_rows($datos) )
    {
        
$contrasenaBD mysql_result($datos0"contrasena");

        if( 
$entrarContrasena == $contrasenaBD )
        {
            include(
"resultados.php");

            if ( !
$conexion )
            {
                echo 
'<script type="text/javascript"> alert("La conexión está cerrada"); </script>';
            }
            else
            {
                echo 
'<script type="text/javascript"> alert("La conexión está abierta!"); </script>';
                
mysql_close($conexion);
            }                    
        }
    }


Tengo 1 formulario de log in que aparece en documento.php si el usuario acaba de llegar. Una vez que el usuario introduce sus credenciales, se recarga documento.php, y se procede a checar en la BD si su usuario y contraseña coinciden con la BD. Si coinciden, mediante un include meto los resultados.php.

Después, como indicaste, Alexis88, checo el estado de la conexión, que siempre indica que está abierta. El warning me dirige a ese mysql_close($conexion) que aparece en documento.php.

Pero resulta que en resultados.php hago más consultas MySQL y ahí también ponía mysql_close($conexion). Y como resultados.php entraba a documento.php mediante un include, pues el mysql_close($conexion) de resultados.php cerraba la conexión antes y salía sobrando el de documento.php.


Saludos!

Última edición por berkeleyPunk; 27/04/2014 a las 10:58