За последние 24 часа нас посетили 18857 программистов и 1609 роботов. Сейчас ищут 913 программистов ...

ООП + MySQL

Тема в разделе "Прочие вопросы по PHP", создана пользователем genix, 31 дек 2009.

  1. genix

    genix Активный пользователь

    С нами с:
    2 май 2009
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Arkhangelsk
    Не могу понять, почему не работает такой код:
    PHP:
    1.  
    2. <?php
    3. $link = mysql_connect($conf->dbserver, $conf->dbuser, $conf->dbpass);
    4. class db {
    5.   function sname() {
    6.     $res=mysql_db_query($conf->dbname, "select var from ".$conf->prefix."_config where (name=fname)", $link);
    7.     while ($row=mysql_fetch_array($res)) {$sname=$row['var'];}
    8.     return $sname;
    9.   }
    10. }
    11. ?>
    12.  
    Ошибка:
    Помогите плиз, кто поймёт.
     
  2. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
  3. genix

    genix Активный пользователь

    С нами с:
    2 май 2009
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Arkhangelsk
    опять же если такой код
    PHP:
    1. <?php
    2. class db {
    3.   function sname($server,$user,$pass,$base,$table) {
    4.     $server1=$conf->dbserver;
    5.     //$user=$conf->dbuser;
    6.     $table=$table."_config";
    7.     $link = mysql_connect($server1, $user, $pass);
    8.     $res=mysql_db_query($base, "select * from $table where (name = 'fname')", $link);
    9.     while ($row=mysql_fetch_array($res)) {$sname=$row['var'];}
    10.     return $sname;
    11.   }
    12. }
    13. ?>
    то $conf->dbserver; он получает, а $conf->dbuser отказывается, хотя описаны одинаково:
    PHP:
    1. <?php
    2. class f_conf {
    3.   var $dbserver ='localhost';
    4.   var $dbname = 'forum';
    5.   var $dbuser ='root';
    6.   var $dbpass ='password';
    7.   var $dbprefix ='forum';
    8.   var $db = 'mysql';
    9. }
    10. ?>
     
  4. genix

    genix Активный пользователь

    С нами с:
    2 май 2009
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Arkhangelsk
    Решил, сделал всё проще:
    PHP:
    1. <?php
    2. class db {
    3.   function sname() {
    4.     global $dbserver,$dbuser,$dbpass,$dbname,$dbprefix;;
    5.     $table=$dbprefix."_config";
    6.     $link = mysql_connect($dbserver, $dbuser, $dbpass);
    7.     $res=mysql_db_query($dbname, "select * from $table where (name = 'fname')", $link);
    8.     while ($row=mysql_fetch_array($res)) {$sname=$row['var'];}
    9.     return $sname;
    10.   }
    11. }
    12. ?>
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    почитай про ООП PHP5
    статика, синглтон