การเชื่อมต่อฐานข้อมูล mysql_connect & mysql_pconnect

By -

ไหนก็ได้ฤกษ์งามยามดีแล้ว วันนี้ขอ เอ๊กแซมเปิ้ลลลล ซะหน่อย เริ่มกันเลยดีกว่า
mysql เราจะเชื่อมต่อฐานข้อมูลมันได้ยังไง ?  ทางไอ้เจ้า mysqlเนี้ย มันมี function มาให้ใช้ โดยเราแค่ส่งพารามิเตอร์ ให้มัน 3 ตัว
คือ ชื่อ hostname  username แล้วก็ password โดยมีรูปแบบ ดังนี้

mysql_connect("host","username","password");


แล้วเราจะรู้ได้ยังไงว่า มันconnect จริงๆ รึป่าวกับไอ้ที่เขียนแค่นี้ข้างบน เราก็หากินกับประโยค คลาสสิกของเราที่ใช้กันทั่วบ้าน ทั่วเมือง if then else นั่นเอง ฮ่าห์ๆ เรียนมาตั้งแต่สมัยปีหนึ่ง
หรือ ใช้ die(); ก็ได้
เช่น

mysql_connect("localhost","root","1234") or die("การเชื่อมต่อไม่สำเร็จ");

แต่ถ้าจะใช้ if หล่ะ ก็

1
2
3
4
5
6
7
8
9
$con=mysql_connect("localhost","root","1234");
if($con)
{
echo"การเชื่อมต่อสำเร็จ";
}
else
{
echo"การเชื่อมต่อไม่สำเร็จ";
}

เอาหล่ะ ต่อไปเป็นการเปรียบเทียบกัน ระหว่าง mysql_connect กับ  mysql_pconnect มันต่างกันยังไง  อ๋อ มันต่างกัน ตรงที่ mysql_pconnect มันมี p เพิ่มเข้ามา (ว่าไปนั่น)
แต่ตอบอย่างนี้ก็ไม่ผิดซะทั้งหมด เพราะไอ้เจ้า ตัว p ที่ว่านั้นนะ มาจาก คำว่า persistent แปลว่าการคงอยู่..
แล้วมันจะต่างกันยังไง
อธิบายง่ายๆ ว่า  mysql_connect  จะสร้างเส้นทางการเชื่อมต่อกับฐานข้อมูลทุกครั้ง ที่มีการเรียก เช่น เราเรียก connect ในหน้า connect.php นี้ แล้วกด รีเฟรช หน้า (F5) ไอ้เจ้าตัวนี้ก็จะสร้างเส้นทางเชื่อมต่อไหม่โดยไม่สนใจว่า มีการเชื่อมต่ออยู่ก่อนหรือป่าว
ส่วน mysql_pconnect  นี้ จะตรวจสอบดูก่อนว่ามีการเชื่อมต่อ อยู่ก่อน ไหม ถ้ามีก็จะใช้ตัวเดิม  โดยไม่สร้างเส้นทางไหม่
เอาแบบนี้ละกัน เพื่อให้เห็นภาพ ที่ชัดเจน ผมจะแสดงไอดีเส้นทางการเชื่อมต่อของสอง function นี้ โดยใช้ function  mysql_thread_id เพื่อดูว่าเส้นทางการเชื่อมต่อนั้น เป็นยังไง
ดูจากโค้ดตัวอย่าง…

10
11
12
13
14
$con1=mysql_connect("localhost","root","1234");
echo "เส้นทางการเชื่อมต่อโดยใช้ function mysql_connect :".mysql_thread_id($con1);
echo"<br/>";
$pcon=mysql_pconnect("localhost","root","1234");
echo "เส้นการเชื่อมต่อโดยใช้ function mysql_pconnect :".mysql_thread_id($pcon);

หากต้องการเห็นภาพจริงๆ ก็ คลิกที่นี่

mitsumasa