0

内部結合を使用して相互にクエリを実行しようとしている 2 つの異なるデータベースがあります。

phpmyadmin からクエリを実行すると、クエリは完全に機能します。ただし、クエリを php ページに入れようとすると、行が機能しません。最初のデータベースの host/db/user/pass を参照する mysql_select_db 行に何かが欠けていると思います。

このクエリをページで機能させるために、ここで何が欠けていますか? 繰り返しますが、実際のクエリは phpmyadmin で実行されるため、機能すると確信しています。

いつもありがとうございます。

ここに私が取り組んでいるコードがあります....

$hostname_db = "123.456.78.910";
$database_db = "votes_db";
$username_db = "votes_dbuser";
$password_db = "password123";
$db = mysql_connect($hostname_db, $username_db, $password_db, true) or trigger_error(mysql_error(),E_USER_ERROR); 

$hostname_db2 = "123.456.78.910";
$database_db2 = "survey_db";
$username_db2 = "survey_dbuser";
$password_db2 = "password456";
$db2 = mysql_connect($hostname_db2, $username_db2, $password_db2, true); 

// trying to make this work, query ok in phpmyadmin, but not on the php page
mysql_select_db($database_db, $db);
$query_testdb3 = sprintf("SELECT votes_db.vote_table.vote_survey_id
FROM votes_db.vote_table 
inner join survey_db.survey_table 
ON votes_db.vote_table.vote_survey_id = survey_db.survey_table.survey_id
WHERE votes_db.vote_table.vote_survey_id = 1457 ");
$testdb3 = mysql_query($query_testdb3, $db) or die(mysql_error());
$row_testdb3 = mysql_fetch_assoc($testdb3);
$totalRows_testdb3 = mysql_num_rows($testdb3);
4

3 に答える 3

0

しばらく前に同じ問題が発生しました(mysql-php複数データベースの問題

そのため、2 番目 ($db2) の「true」オプションを削除すると、すべて問題なく動作するはずです。

Gl

于 2012-07-25T21:31:05.173 に答える
0

権限の問題でした。データベースに接続していたユーザーに適切な権限がありませんでした。ホスティング会社がこれを修正してくれたので、彼らが何をしたか正確には言えませんが、今は機能しています。

ティムは正しかった。スーパーユーザーとしてログインしていたので、phpmyadmin から動作していた...

于 2012-07-26T18:19:59.443 に答える
0
$`totalRows_testdb3 = mysql_num_rows($testdb3);`

最終行の「$testdb3」の列 # を「$row_testdb3」に変更します。

$totalRows_testdb3 = mysql_num_rows($row_testdb3);

また、各 $db と db2 を別のクラスと関数に入れると、次のようになります。

mysql_close($db);

各クエリの後。

于 2012-07-25T22:32:50.910 に答える