たぶん、これは完全に間違っていますが、...
次のようなクエリを実行する必要があります。
SELECT * FROM DATABASE1, DATABASE2 WHERE DATABASE1.users.name = DATABASE2.users.name
phpmyadmin を使用すると動作しますが、php ではページがブロックされます。
私が使用しているmysqlへの接続方法は、
$result = new mysqli(サーバー、ユーザー、パス、データベース)
うまくいかない理由はわかります。1 つのデータベースにしか接続していませんが、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;
}
このクエリは、ページを無期限に「ロード」します。
ありがとう。