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"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 ZnikiR, 19 Apr 2009
    Last edited: 19 Apr 2009
  2. GreenBear

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

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    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,548
    Likes Received:
    1,397
    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
    да я понял что здесь очень тупой код!
    я просто взял уже готовой и пожалел!
    сейчас свой пишу!