|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #17248 # is not a valid MySQL-Link resource
Submitted: 2002-05-15 09:19 UTC Modified: 2002-08-04 04:46 UTC
Avg. Score:4.3 ± 0.8
Reproduced:12 of 12 (100.0%)
Same Version:5 (41.7%)
Same OS:2 (16.7%)
From: bbs at c-se dot de Assigned:
Status: No Feedback Package: MySQL related
PHP Version: 4.1.2 OS: Linux Mandrake 8.2
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2002-05-15 09:19 UTC] bbs at c-se dot de

I just recently switched an application from Debian Woody with PHP 4.0.3 PL1 to Mandrake Linux 8.2 / PHP 4.1.2 (as an RPM out of the box). The same script that worked fine for over a year now makes trouble on the new machine:

    /*  two function definitions */

    Create_DB_Connection($verbindung_lfz) OR
        ErrorMsg("Module", "connection could not be created");

    if ($kdnrClub)
        /* GetUserData creates its own connection to the db and closes it after
           use */
        GetUserData($SID, $row);
    /* some php-code and some db-queries with $verbindung_lfz but different
       $result-vars */
    if (! $verbindung_lfz)
        print "No connection!<br>";
        print "Connection ok!<br>";

    SQLExec($statement, $verbindung_lfz, $result_lfz) OR
        ErrorMsg("Luftfahrzeug", "couldn't get data: " . mysql_error());

The connection still exists because there is the "Connection ok!" message. Right after that my SQLExec blows up and gives 

    Warning: [some number] is not a valid MySQL-Link resource in [...]

Later, the connection can't be closed because it does not exist. But why does my connection-check work before I call SQLExec?
The SQL-statement is working fine on the console. My query works if I move it to the beginning of the script after the Create_DB_Connection.

I replaced my wrapping functions with the original functions-calls but that didn't make a difference.

I've got some kind of framework for my database connections. These are the used functions in this excerpt:

    function Create_DB_connection(&$newconnect)
        $db_user    = $GLOBALS["CONST_DB_USER"];
        $db_host    = $GLOBALS["CONST_DB_HOST"];
        $db_pass    = $GLOBALS["CONST_DB_PASS"];

        $retval         = 1;
        $newconnect = mysql_connect($db_host, $db_user, $db_pass) or
            $retval = 0;
        return $retval;

    function SQLExec($sqlquery, $viaconnection, &$resultset)
        $db_base    = $GLOBALS["CONST_DB_BASE"];

        $retval     = 1;
        $resultset  = mysql_db_query($db_base, $sqlquery, $viaconnection) or
            $retval = 0;

        return $retval;

So what changed between 4.0.3PL1 und 4.1.2 to cause this behaviour? There are some more scripts and I'd like to have an idea about what I should take care of.



Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2002-05-15 09:26 UTC]
It seems like a bug in your code/logic. Please paste a small, self-contained example showing the problem. Also make sure you run everything with error_reporting(E_ALL);
 [2002-08-04 04:46 UTC]
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.

 [2007-08-18 17:58 UTC] warren dot gutierrez at gmail dot com
The mysql_db_query() function is no longer used 4.0.6 up. You may want to use mysql_select_db() and mysql_query() instead. Hope this helps.
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Jul 18 08:01:28 2024 UTC