คำเตือน: mysql_xx
ฟังก์ชั่นถูกคัดค้านตั้งแต่ php 5.5 และลบออกตั้งแต่ php 7.0 (ดูhttp://php.net/manual/intro.mysql.php ) ใช้mysqli_xx
ฟังก์ชั่นหรือดูคำตอบด้านล่างจาก @Troelskn
คุณสามารถโทรหลายครั้งได้mysql_connect()
แต่หากพารามิเตอร์เหมือนกันคุณต้องผ่านค่าจริงสำหรับ$new_link
พารามิเตอร์' ' (ที่สี่) มิฉะนั้นการเชื่อมต่อเดียวกันจะถูกนำมาใช้ซ้ำ ตัวอย่างเช่น:
$dbh1 = mysql_connect($hostname, $username, $password);
$dbh2 = mysql_connect($hostname, $username, $password, true);
mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);
จากนั้นให้สืบค้นฐานข้อมูล 1 ผ่านตัวระบุลิงก์แรก:
mysql_query('select * from tablename', $dbh1);
และสำหรับฐานข้อมูล 2 ผ่านวินาที:
mysql_query('select * from tablename', $dbh2);
หากคุณไม่ผ่านตัวระบุลิงก์ดังนั้นจะใช้การเชื่อมต่อล่าสุดที่สร้างขึ้น (ในกรณีนี้การเชื่อมต่อที่แสดง$dbh2
) เช่น:
mysql_query('select * from tablename');
ตัวเลือกอื่น
หากผู้ใช้ MySQL สามารถเข้าถึงฐานข้อมูลทั้งสองและพวกเขาอยู่ในโฮสต์เดียวกัน (เช่นฐานข้อมูลทั้งสองสามารถเข้าถึงได้จากการเชื่อมต่อเดียวกัน) คุณสามารถ:
- เปิดการเชื่อมต่อหนึ่งครั้งแล้วโทรออก
mysql_select_db()
เพื่อสลับระหว่างที่จำเป็น ฉันไม่แน่ใจว่านี่เป็นวิธีแก้ปัญหาที่ดีและคุณสามารถสอบถามฐานข้อมูลผิดได้
- ระบุชื่อฐานข้อมูลเมื่อคุณอ้างอิงตารางภายในแบบสอบถามของคุณ (เช่น
SELECT * FROM database2.tablename
) นี่น่าจะเป็นความเจ็บปวดที่จะนำมาใช้
และโปรดอ่านคำตอบของ troelskn เพราะเป็นวิธีที่ดีกว่าถ้าคุณสามารถใช้ PDO ได้มากกว่านามสกุลที่เก่ากว่า