Php 查询不同的数据库
也许这样做是完全错误的,但是 我需要执行如下查询: 从DATABASE1、DATABASE2中选择*其中DATABASE1.users.name=DATABASE2.users.name 如果我使用phpmyadmin,它可以工作,但是在php上页面会阻塞 我使用的连接mysql的方式 $result=newmysqli(服务器、用户、通行证、数据库) 我可以理解为什么它不起作用,我只连接到一个数据库,但是phpmyadmin是如何做到的呢? 我怎么做 我看过其他帖子,但我想在这两个数据库中查找信息,但我还没有找到类似的内容 [编辑] 我的代码的一个实际示例是:Php 查询不同的数据库,php,mysqli,Php,Mysqli,也许这样做是完全错误的,但是 我需要执行如下查询: 从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]);
}
?>