不是很明确吗?
“对于最后一个操作返回错误信息:table'db2.tab1' is not exist;”
他是说库db2中没有表tab1,看样子也是没有,tab1在db1中请检查$dataDB->query方法的代码
若无形如mysql_select_db的语句,则一定要用形如mysql_db_query的函数

解决方案 »

  1.   

    方法中是这样的顺序:
    mysql_connect
    mysql_select_db
    mysql_query
    现在的问题应该不是这里,因为,之前的语句都没有问题,而且这个类是用了很久的类了,不是我自己写了还没测试的。问题出在在交叉调用的时候2个的属性Database被混淆了。
    如果说使用引用&的话会产生这个问题,但是现在并没有用啊。
      

  2.   

    说明那个类写的不好
    query有第二个参数的
    可以选择数据库连结的
      

  3.   

    <?php
    class My_Db_Sql
    {
        var $Database;
    function My_Db_Sql($database){
    $this->Database = $database;
    mysql_connect('localhost', 'root', '');
    mysql_select_db($this->Database);
    }
        function test($tab)
        {
            if (!@mysql_query('select * from '.$tab)){
    echo mysql_error().'<br>';
    }else{
    echo $tab.'<br>';
    }
        }
    }$gServDB = new My_Db_Sql('db1');
    $gServDB->test('tab1');$dataDB = new My_Db_Sql('db2');
    $dataDB->test('tab2');$gServDB->test('tab1');
    ?> 
    结果是
    tab1
    tab2
    Table 'db2.tab1' doesn't exist
      

  4.   

    问题出在这里:<?php
    class My_Db_Sql
    {
        var $Database;
    var $Link_ID;
    function My_Db_Sql($database){
    $this->Database = $database;
    $this->Link_ID = mysql_connect('localhost', 'root', '');
    mysql_select_db($this->Database);
    }
        function test($tab)
        {
            if (!@mysql_query('select * from '.$tab, $this->Link_ID)){
    echo mysql_error()." ".$this->Link_ID.'<br>';
    }else{
    echo $tab." ".$this->Link_ID.'<br>';
    }
        }
    }$gServDB = new My_Db_Sql('db1');
    $gServDB->test('tab1');$dataDB = new My_Db_Sql('db2');
    $dataDB->test('tab2');$gServDB->test('tab1');
    ?>结果如下:
    tab1 Resource id #2
    tab2 Resource id #2
    Table 'db2.tab1' doesn't exist Resource id #2
    也就是使用了同一个mysql连接对么?这个如何解决阿??
      

  5.   

    to syre(神仙),哪个是多少人在用的而且我也换过试了。。我想解决这个问题的办法是不是只能采用mysql_connect
    mysql_db_query而不能用
    mysql_connect
    mysql_select_db
    mysql_query经过试验上面的方法解决了问题,
    但是我想问问这是不是好地解决办法?
    上面哪个的实际效率应该是低于下面的吧?
    上面的那个我认为实际是:
    mysql> use table; 
    mysql> query;