หน้าเว็บ

วันพฤหัสบดีที่ 2 มิถุนายน พ.ศ. 2554

เชื่อมต่อฐานข้อมูล MySQL มากกว่า 1 ฐานข้อมูลด้วย PHP

วันนี้เรียวจะมาบอกวิธีการเขียน PHP เชื่อมต่อ database ซึ่งปกติก็ทำกันเป็นอยู่แล้วหละ แค่ใช้ mysql_connect มันก็ได้แล้ว แต่ถ้าจะเชื่อมต่อ database 2 database ขึ้นไปแล้วต้องการสลับการ Query ไป database 1 กับ 2 ไปมาจะทำอย่างไร เรียวเชื่อว่าหลายคนอาจจะวิธี connect ฐานข้อมูลแรกแล้วปิด จากนั้น connect ฐานข้อมูลที่สองแล้วปิด เปิด สลับกันไปซึ่งทำให้ช้า แถมต้องมา connect ใหม่ตลอดเวลา

ก่อนอื่นเขียน code เพื่อ connect ฐานข้อมูลเหมือนเดิม

$connect1 = mysql_connect("localhost","root","1234","TRUE");
mysql_select_db('database1',$connect1);
mysql_query("SET NAMES 'utf8'",$connect1);

$connect2 = mysql_connect("localhost","root","1234","TRUE");
mysql_select_db('database2',$connect2);
mysql_query("SET NAMES 'utf8'",$connect2);


หลังจาก connect database ทั้ง 2 ตัวเรียบร้อยแล้ว มาลอง Query กัน ซึ่งถ้าใครจะ connect database ซัก 3 ตัวก็เขียนเพิ่มเข้าไปจะสังเกตว่าจะมีตัวแปร $connect1,$connect2,$connect3,....... เก็บค่าสำหรับการ connect ไว้ ซึ่งเราจะเอาตัวแปรนี้ไปใช้ในการ Query มาดูตัวอย่าง

เขียน Query ข้อมูลจากฐานข้อมูลตัวแรก
$sql = "SELECT * FROM member";
$query1 = mysql_query($sql,$connect1) or die(mysql_error());
while($rs1 = mysql_fetch_array($query1))
{
    ................................
}


เขียน Query ข้อมูลจากฐานข้อมูลตัวที่สอง
$sql = "SELECT * FROM member_forum";
$query2 = mysql_query($sql,$connect2) or die(mysql_error());
while($rs2 = mysql_fetch_array($query2))
{
    ................................
}

จะ Query database ตัวไหนก็ใส่ parameter เข้าไปใน mysql_query แึ้ึค่นี้เอง

6 ความคิดเห็น:

  1. ขอบคุณสำหรับความรู้ดีๆนะครับ

    ตอบลบ
  2. ขอบคุณมากครับ สุดยอดจริงๆ

    ตอบลบ
  3. ไม่ระบุชื่อ14 มีนาคม 2556 เวลา 06:01

    ขอบคุณครับ ได้ความรู้เพิ่มอีก

    ตอบลบ
  4. ไม่ระบุชื่อ28 สิงหาคม 2556 เวลา 16:24

    สุดยอด มีประโยชน์มากครับ

    ตอบลบ
  5. ไม่ระบุชื่อ16 ตุลาคม 2556 เวลา 15:52

    ถ้าจะเอาทั้ง 2 มา join กันละครับต้องทำไงครับ

    ตอบลบ
  6. อยากทราบเหมือนกันครับ ว่าเราสามารถนำข้อมูลจาก 2ฐานข้อมูลมา join กันได้ไหม

    ตอบลบ