这可能是完全错误的,但是......
我需要这样做一个查询:
SELECT * FROM DATABASE1,DATABASE2 WHERE DATABASE1.users.name = DATABASE2.users.name
如果我使用phpmyadmin这样做,它可以正常工作,但是在页面上阻止了。
我使用
连接到mysql的方式$ result = new mysqli(服务器,用户,通行证,数据库)
我可以看到为什么它不起作用,我只连接到一个数据库,但是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;
}
}
和db_connect只是:
function db_connect()
{
$result = new mysqli('localhost', $user, $pass, 'quehaceshoy_testing');
$result->set_charset("utf8");
if (!$result)
return false;
return $result;
}
此查询使页面加载&#34;加载&#34; indefinetly。
感谢。
答案 0 :(得分:2)
我在下面测试了一个脚本,它似乎工作正常,没有失败....
<?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]);
}
?>
您可能需要在此处发布您的代码。是你的数据集很大吗?请发布您的代码,以便我们检查和指导。