Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询不同的数据库_Php_Mysqli - Fatal编程技术网

Php 查询不同的数据库

Php 查询不同的数据库,php,mysqli,Php,Mysqli,也许这样做是完全错误的,但是 我需要执行如下查询: 从DATABASE1、DATABASE2中选择*其中DATABASE1.users.name=DATABASE2.users.name 如果我使用phpmyadmin,它可以工作,但是在php上页面会阻塞 我使用的连接mysql的方式 $result=newmysqli(服务器、用户、通行证、数据库) 我可以理解为什么它不起作用,我只连接到一个数据库,但是phpmyadmin是如何做到的呢? 我怎么做 我看过其他帖子,但我想在这两个数据库中查找

也许这样做是完全错误的,但是

我需要执行如下查询:

从DATABASE1、DATABASE2中选择*其中DATABASE1.users.name=DATABASE2.users.name

如果我使用phpmyadmin,它可以工作,但是在php上页面会阻塞

我使用的连接mysql的方式

$result=newmysqli(服务器、用户、通行证、数据库)

我可以理解为什么它不起作用,我只连接到一个数据库,但是phpmyadmin是如何做到的呢? 我怎么做

我看过其他帖子,但我想在这两个数据库中查找信息,但我还没有找到类似的内容

[编辑] 我的代码的一个实际示例是:

if($type == "past"){// Hago una query u otro dependiendo de si quiero pasados o futuros
             $query = "SELECT DISTINCT E.* FROM quehaceshoy_testing.Events E, quehaceshoy_testing.Tickets TK, quehaceshoy_testing.TypeTickets TT, quehaceshoy_testing.Tickets_Reservados2 TR, AirTicket.TICKET T WHERE ((T.Email='$this->email' AND T.idCompra = TR.idCompra AND TR.idTypeTicket_TypeTickets = TT.idTypeTicket AND E.IDEvent = TT.idEvent_Events)OR (E.email = '$this->email')) AND  E.dateFinish < '".$fecha."' ORDER BY E.dateFinish DESC";
        }
        else{
             $query = "SELECT DISTINCT E.* FROM quehaceshoy_testing.Events E, quehaceshoy_testing.Tickets TK, quehaceshoy_testing.TypeTickets TT, quehaceshoy_testing.Tickets_Reservados2 TR, AirTicket.TICKET T WHERE ((T.Email='$this->email' AND T.idCompra = TR.idCompra AND TR.idTypeTicket_TypeTickets = TT.idTypeTicket AND E.IDEvent = TT.idEvent_Events)OR (E.email = '$this->email')) AND  E.dateFinish >= '".$fecha."' ORDER BY E.dateFinish DESC";
        }
        //echo $query;
        //$result = $this->makeQuery($query, 'RESULT');
        if($conn = db_connect()){

                    $result = $conn->query($query);
                    if(!$result){
                      //echo '<p>Unable to get list from database.</p>';
                      //echo $conn->error;
                      return false;
                    }

        }
此查询使页面无法精确地“加载”


谢谢

我在下面写了一个脚本,它似乎工作得很好,没有失败

    <?php 
          $con = mysql_connect("localhost","root","");
           mysql_select_db("test");

          $con1 = mysql_connect("localhost","root","");
          mysql_select_db("test1");

           $query = "SELECT * FROM test1.`manager` INNER JOIN test.employee   
                    ON test1.`manager`.id= test.employee.mgr";
          $result = mysql_query($query);
          while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
           printf("ID: %s  Name: %s", $row[0], $row[1]);  
          }
      ?>


可能你需要在这里发布你的代码。您的数据集很大吗?请张贴您的代码,以便我们检查和指导

你需要重新表述你的问题,让人理解你是指不同的数据库还是不同的表?我认为问题很清楚,他想从不同数据库中的更多表中获取值。示例查询在phpmyadmin中工作,但在mysqli php代码中不工作。谢谢@Kyborek,我认为这相当清楚。两个数据库也有两个不同的表,但这两个表,来自不同数据库,都包含我想要匹配的信息,这在phpmyadmin中是可能的,所以它必须可以使用PHP,但我无法在我的代码中找到它。可能是和的重复
    <?php 
          $con = mysql_connect("localhost","root","");
           mysql_select_db("test");

          $con1 = mysql_connect("localhost","root","");
          mysql_select_db("test1");

           $query = "SELECT * FROM test1.`manager` INNER JOIN test.employee   
                    ON test1.`manager`.id= test.employee.mgr";
          $result = mysql_query($query);
          while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
           printf("ID: %s  Name: %s", $row[0], $row[1]);  
          }
      ?>