[geeklog-users] Installation error

geeklog-users-admin at lists.geeklog.net geeklog-users-admin at lists.geeklog.net
Fri Aug 1 09:54:28 EDT 2003


Hi Dirk,

   I was just checking out the formula-1 pre-qualifying when you latest 
advice came in :o)

On Fri,  1 Aug 2003 23:05, you wrote:
>
> Not sure why this hasn't been noticed earlier. Maybe it's because you're
> running MySQL 4 - it may be handling this differently.

Actually, I'm running MySQL 3.23.36.

> In any case, it's a bug in the install script. Add those three variables
> to the "global" statement in function INST_createDatabaseStructures() and
> see if that helps.

Well, yes and no...

Here is a snippet from my latest install.php:


================  begin snippet   ===========================


function INST_createDatabaseStructures() {
    global $_CONF, $_DB_dbms, $_TABLES, $_DB_host, $_DB_user, $_DB_pass;

    // Because the create table syntax can vary from dbms-to-dbms we are
    // leaving that up to each database driver (e.g. mysql.class.php, 
    // postgresql.class.php, etc)

    // Get DBMS-specific create table array and data array
    require_once($_CONF['path'] . 'sql/' . $_DB_dbms . '_tableanddata.php');

    $progress = '';

    for ($i = 1; $i <= count($_SQL); $i++) {
         echo current($_SQL) . "<br>\n";
        DB_query(current($_SQL));
        next($_SQL);
    }

    echo "connecting to " . $_DB_host . "<br>\n";

    if ($_DB_dbms == 'mysql') {
        @mysql_connect ($_DB_host, $_DB_user, $_DB_pass);

         echo "connected to " . $_DB_host . "<br>\n";

        $mysqlv = '';
        $mysqlv = @mysql_get_server_info();

         echo "mysqlv = " . $mysqlv . "<br>\n";

        if (!empty ($mysqlv)) {
            preg_match ('/^([0-9]+).([0-9]+).([0-9]+)/', $mysqlv, $match);
            $mysqlmajorv = $match[1];
            $mysqlminorv = $match[2];
            $mysqlrev = $match[3];
        } else {
            $mysqlmajorv = 0;
            $mysqlminorv = 0;
            $mysqlrev = 0;
        }
        @mysql_close();

         echo "MySQL: " . $mysqlmajorv . "." . $mysqlminorv . "." . $mysqlrev;
         echo "<p>\n";

========================   end of snippet   =====================

which produces the following final output:

connecting to localhost
connected to localhost

The connect is working correctly, and the $_DB_user and $_DB_pass are correct 
(I did check), but the mysql_get_server_info() is terminating the script, it 
appears.

Just a reminder that I am running MySQL 3.23.36 (according to phpMyAdmin).

> Thanks for your help finding this.

Not at all - thank you for your quick help.

Cheers!
Nik



More information about the geeklog-users mailing list