我有两个连接字符串用户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...
但它也不起作用。我错了什么?
答案 0 :(得分:0)
您没有在连接语句中提到表名。我想你可能想做这样的事情:
SELECT * FROM db1.table_name as d1 LEFT JOIN db2.table_name as d2
ON d1.col1 = d2.col2
尝试在上面的语句中将db1和db2中的table_name
替换为真实的表名。