7
也许这是完全错误的事情,但是......查询不同的数据库
我需要做这样的查询:
SELECT * FROM DATABASE1,DATABASE2 WHERE DATABASE1.users.name = DATABASE2.users.name
如果我这样做与phpmyadmin它的作品,但在PHP页面块。
我连接到MySQL我使用的方式,
$结果=新的mysqli(服务器,用户通过数据库)
我明白为什么它不工作,我只连接到一个数据库,但phpmyadmin如何做呢? 我该怎么办?
我已经看过其他帖子,但我想跨2个数据库的信息,我还没有找到类似的东西。
[编辑] 我的代码的一个实际例子是:
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;
}
}
和db_connect就是:
function db_connect()
{
$result = new mysqli('localhost', $user, $pass, 'quehaceshoy_testing');
$result->set_charset("utf8");
if (!$result)
return false;
return $result;
}
这个查询使页面 “装入” indefinetly。
谢谢。
您需要更改您的问题,使其易于理解 –
您是指不同的数据库还是不同的表格? –
我认为问题很明显,他想从更多的表中获取值,这些表位于不同的数据库中。示例查询适用于phpmyadmin,但不适用于mysqli php代码。 – Kyborek