Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Pertanyaan Silang Pangkalan Data dalam PHP?
Dalam perbincangan sebelumnya, pertanyaan silang pangkalan data dalam MySQL telah ditangani. Walau bagaimanapun, apabila cuba untuk melaksanakan pengetahuan ini dalam PHP, cabaran timbul.
Masalahnya:
PHP menawarkan dua pendekatan menggunakan mysql_select_db:
Penyelesaian:
Untuk melakukan pertanyaan silang pangkalan data dalam PHP tanpa pengubahsuaian yang berlebihan, langkah berikut boleh diambil:
$db = mysql_connect($host, $user, $password); mysql_select_db('my_most_used_db', $db); $q = mysql_query(" SELECT * FROM table_on_default_db a, `another_db`.`table_on_another_db` b WHERE a.id = b.fk_id ");
Jika pangkalan data berada pada hos yang berbeza , penyertaan langsung tidak boleh dilakukan. Dalam kes itu, dua pertanyaan boleh dilakukan sebaliknya:
$db1 = mysql_connect($host1, $user1, $password1); $db2 = mysql_connect($host2, $user2, $password2); $q1 = mysql_query(" SELECT id FROM table WHERE [..your criteria for db1 here..] ", $db1); $tmp = array(); while($val = mysql_fetch_array($q1)) $tmp[] = $val['id']; $q2 = mysql_query(" SELECT * FROM table2 WHERE fk_id in (".implode(', ', $tmp).") ", $db2);
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan Silang Pangkalan Data dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!