Global переменная!ошибка регистрации!

Discussion in 'PHP' started by ZnikiR, 19 Apr 2009.

  1. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    Ошибка при конекте к ДБ!

    Привет!Извените что пришлось создать новую тему так как в темы для новичков ответа нет!

    PHP:

    <?

        function db_connect()
        {
            global $db;<!------22 ТРОКА

            if ($db)
                return;

            $db = mysql_connect("localhost", MYSQLUSER, MYSQLPASS);

            mysql_select_db(MYSQLDB, $db);

            if (!$db)
            {
                echo "Couldn't open database!\n";
                exit;
            }
        }

        function db_disconnect()
        {
            global $db;

            if ($db)
            {
                mysql_close($db);
                $db = NULL;
            }
        }

        function db_query($q)
        {
            global $db;

            $result = mysql_query($q, $db);
            return $result;
        }

        function db_fetch_array($result)
        {
            global $db;

            $r = mysql_fetch_array($result);
            return $r;
        }

        function db_query_row($q)
        {
            $result = db_query($q);

            if (!$result)
                return NULL;

            $row = mysql_fetch_array($result);
            return $row;
        }

        function db_query_value($q)
        {
            $row = db_query_row($q);
            return $row[0];
        }

        function db_array_update($table, $a, $where)
        {
            $q = "update $table set ";
            $b = NULL;

            foreach($a as $key => $value)
            {
                if (is_int($key))
                    continue;

    //            if (isset($value) && $value != "")
                    $b[] = "$key='$value'";
            }

            $q .= implode(",", $b);
            $q .= " where ".$where;

            db_query($q);
        }

        function db_array_insert($table, $a)
        {
            $q = "insert into $table set ";
            $b = NULL;

            foreach($a as $key => $value)
            {
                if (is_int($key))
                    continue;
                if ($value && $value != "")
                    $b[] = "$key='$value'";
            }

            $q .= implode(",", $b);

            db_query($q);

        }

        function db_insert_id()
        {
            return mysql_insert_id();
        }

        function gen_id($table, $column, $size, $characters_allow)
        {
            for(;;)
            {
                $id = random_string($size, TRUE, $characters_allow);
                $q = "select count(*) from $table where $column='$id'";
                $count = db_query_value($q);
                if ($count == 0)
                    break;
            }
            return $id;
        }

        function db_num_rows($result)
        {
            return mysql_num_rows($result);
        }
    ?>

     
    #1 ZnikiR, 19 Apr 2009
    Last edited: 19 Apr 2009
  2. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    http://ru2.php.net/oop
     
  3. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    Почитал!
    Но так и не понял в чем проблема!
    Так в чем проблема???
    Вот что севак пишет Fatal error: Cannot redeclare db_connect() (previously declared in /home/www/***/inc/db.php:5) in /home/www/***/inc/db.php on line 3
     
    #3 ZnikiR, 19 Apr 2009
    Last edited: 19 Apr 2009
  4. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    в подходе
     
  5. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    попробуй так :
    PHP:
    <? 

        function 
    db_connect() 
        { 
            global 
    $db;
            if (
    $db
                return; 

            
    $db mysql_connect("localhost"MYSQLUSERMYSQLPASS); 

            
    mysql_select_db(MYSQLDB$db); 

            if (!
    $db
            { 
                echo 
    "Couldn't open database!\n"
                exit; 
            } 
        } 

        function 
    db_disconnect() 
        { 
            global 
    $db

            if (
    $db
            { 
                
    mysql_close($db); 
                
    $db NULL
            } 
        } 

        function 
    db_query($q
        { 
            global 
    $db

            
    $result mysql_query($q$db); 
            return 
    $result
        } 

        function 
    db_fetch_array($result
        { 
            global 
    $db

            
    $r mysql_fetch_array($result); 
            return 
    $r
        } 

        function 
    db_query_row($q
        { 
            
    $result db_query($q); 

            if (!
    $result
                return 
    NULL

            
    $row mysql_fetch_array($result); 
            return 
    $row
        } 

        function 
    db_query_value($q
        { 
            
    $row db_query_row($q); 
            return 
    $row[0]; 
        } 

        function 
    db_array_update($table$a$where
        { 
            
    $q "update $table set "
            
    $b NULL

            foreach(
    $a as $key => $value
            { 
                if (
    is_int($key)) 
                    continue; 

    //            if (isset($value) && $value != "") 
                    
    $b[] = "$key='$value'"
            } 

            
    $q .= implode(","$b); 
            
    $q .= " where ".$where

            
    db_query($q); 
        } 

        function 
    db_array_insert($table$a
        { 
            
    $q "insert into $table set "
            
    $b NULL

            foreach(
    $a as $key => $value
            { 
                if (
    is_int($key)) 
                    continue; 
                if (
    $value && $value != ""
                    
    $b[] = "$key='$value'"
            } 

            
    $q .= implode(","$b); 

            
    db_query($q); 

        } 

        function 
    db_insert_id() 
        { 
            return 
    mysql_insert_id(); 
        } 

        function 
    gen_id($table$column$size$characters_allow
        { 
            for(;;) 
            { 
                
    $id random_string($sizeTRUE$characters_allow); 
                
    $q "select count(*) from $table where $column='$id'"
                
    $count db_query_value($q); 
                if (
    $count == 0
                    break; 
            } 
            return 
    $id
        } 

        function 
    db_num_rows($result
        { 
            return 
    mysql_num_rows($result); 
        } 
    ?>
     
    1 person likes this.
  6. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    спасибо огромное всё заработоло!
    тему можно закрывать!
    P.S.скоро представлю своё "творения" :p в паблик!)))
     
    1 person likes this.
  7. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    ппц вот смотри например.
    зачем делать такие глупые функции?
    вот например.
    function db_query_row($q)
    $result = db_query($q);

    во всяком db_query будет юзатся быстрее, чем через функцию db_query_row($q);
     
    1 person likes this.
  8. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    да я понял что здесь очень тупой код!
    я просто взял уже готовой и пожалел!
    сейчас свой пишу!