我有两个连接字符串用户DBO:
字符串1:
try {
$conn1 = new PDO('mysql:host=ip1;dbname=db1','root', '123456');
$conn1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
字符串2:
try {
$conn2 = new PDO('mysql:host=ip2;dbname=db2','root', '123456');
$conn2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
我使用连接查询将 tb1 连接到 tb2:
$stmt = $conn1->prepare(" select db1.*,db2.col1 from db1 left join db2 on db1.col1=db2.col2");
$stmt -> execute();
$result=$stmt->fetchAll();
if(count($result)){
foreach($result as $row){
echo $row[col1]";
}}
else{
Echo 'Not rows';
}
}
catch(PDOException $e){
echo $e->getMessage();
}
这不起作用。
我已经尝试过 $stmt = $conn1,$conn2->prepare...
但它也不起作用。我搞错了什么?
最佳答案
您没有在连接语句中提及表名称。我想你可能想做这样的事情:
SELECT * FROM db1.table_name as d1 LEFT JOIN db2.table_name as d2
ON d1.col1 = d2.col2
尝试将上述语句中 db1 和 db2 中的实际表名称替换为 table_name
。
关于php - 多数据库没有值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29554628/