连接来自两个不同数据库的表
Posted
技术标签:
【中文标题】连接来自两个不同数据库的表【英文标题】:Joining tables from two different databases 【发布时间】:2013-03-22 16:38:00 【问题描述】:$db=mysql_connect("localhost", "testuser1", "testuser1") or die(mysql_error());
$db2=mysql_connect("localhost", "testuser2", "testuser2", true) or die(mysql_error());
$dbname="database1";
$dbname2="database2";
mysql_select_db($dbname,$db) or die (mysql_error());
mysql_select_db($dbname2,$db2) or die (mysql_error());
//this is for the product attributes
$data = mysql_query("SELECT db.attribute_stock, db.options_values_sku
FROM db.products_attributes
LEFT OUTER JOIN db2.oscomstock ON db.product_attributes.options_value_sku=db2.oscomstock.options_value_sku
") or die(mysql_error());
但是,当我尝试这样做时,我得到了错误:
SELECT command denied to user 'testuser2' for table 'products_attributes'
它在执行 sql 查询时似乎只对两个数据库使用一组凭据。
我需要做什么才能使用正确的凭据访问它?
提前致谢。
【问题讨论】:
您使用的数据库连接用户没有选择权限 我很确定你也只需要一个连接... 【参考方案1】:你的权利肯定有问题。
进入 phpmyadmin 中的“权限部分”,找到用户“testuser2”并编辑他的权限。确保选中每个复选框,单击运行并确保“testuser2”现在具有“所有权限”。
希望这会有所帮助。
【讨论】:
【参考方案2】:您需要将两个数据库的访问权限授予一位用户。并使用该用户连接到数据库服务器。
【讨论】:
以上是关于连接来自两个不同数据库的表的主要内容,如果未能解决你的问题,请参考以下文章