The code example from this page shows how to make a
MySQL SELECT with JOIN table of different database, using PDO.
The trick is to specify both the database name and table in the SQL query, by using the syntax:
database_name.table_name.
- This method works if you use an user and password for connecting to MySQL that has access to both databases.
Complete code example
// Data for connecting to MySQL
$mysql =['host'=>'localhost', 'dbname'=>'db_1', 'user'=>'root', 'pass'=>'password'];
//connects with PDO
try {
$conn = new PDO('mysql:host='. $mysql['host'] .'; dbname='. $mysql['dbname'], $mysql['user'], $mysql['pass']);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //set the PDO error mode to exception
}
catch(PDOException $e){ exit('Connection failed: '. $e->getMessage());}
$sql ="SELECT t1.id, t1.name, t2.col_db2 FROM db_1.table1 AS t1
LEFT JOIN db_2.table2 AS t2 ON t1.id = t2.id";
$stmt = $conn->query($sql);
if($stmt !== false) {
//shows selected data
foreach($stmt as $row) {
echo $row['id'] .'--'. $row['name'] .'--'. $row['col_db2'] .'<br>';
}
}
else {
echo '0 results';
}
- In this way you can join multiple tables from different databases.
Daily Test with Code Example
HTML
CSS
JavaScript
PHP-MySQL
Which meta tag provides a short description of the page?
<meta content="..."> <meta description="..."> <meta http-equiv="..."><meta name="description" content="70-160 characters that describes the content of the page" />
Which CSS property is used to stop the wrapping effect of the "float"?
clear text-align position#some_id {
clear: both;
}
Click on the method which gets an array with all the elements in the document that have a specified tag name.
getElementsByName() getElementById() getElementsByTagName()var divs = document.getElementsByTagName("div");
var nr_divs = divs.length;
alert(nr_divs);
Indicate the PHP function which returns the number of elements in array.
is_[) count() strlen()$arr =[7, 8, "abc", 10);
$nri = count($arr);
echo $nri; // 4