mysqli connect (php) คือ เวอร์ชันการเชื่อต่อกับฐานข้อมูลในปัจจุบัน และรองรับ PHP5+ โดย MySQL ถูกเลิกใช้ในปี 2012
MySQLi (หรือ mysqli) ย่อมาจาก MySQL Improved Extension ซึ่งเป็นส่วนเสริมของ PHP ที่ใช้สำหรับเชื่อมต่อและดำเนินการกับฐานข้อมูล MySQL โดย MySQLi นั้นเพิ่มความสามารถและคุณสมบัติใหม่ๆ เมื่อเทียบกับ mysql extension ที่ใช้ใน PHP เวอร์ชันเก่าๆ
ตัวอย่างการสร้างฟังก์ชัน PHP mysqli_connect () เพื่อเปิดการเชื่อมต่อใหม่ไปยังเซิร์ฟเวอร์ MySQL: ดังต่อไนี้
<?php $servername = "localhost"; //ชื่อ server หรือ IP address $username = "username"; //ชื่อผู้ใช้ $password = "password"; //รหัสผ่าน $dbname = "myDB"; //ชื่อฐานข้อมูล //สร้างการเชื่อมต่อ $conn = mysqli_connect($servername, $username, $password, $dbname); //ตรวจสอบการเชื่อมต่อ if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; ?>
เมื่อเราเชื่อมต่อฐานข้อมูล MySQL ด้วย MySQLi แล้ว เราสามารถใช้ฟังก์ชัน mysqli_query() เพื่อส่งคำสั่ง SQL ไปยังฐานข้อมูล และนำผลลัพธ์กลับมาใช้ได้ ดังตัวอย่างต่อไปนี้
<?php $sql = "SELECT * FROM myTable"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 results"; } mysqli_close($conn); ?>
โดย mysqli_query() จะส่งคำสั่ง SQL ไปยังฐานข้อมูลและนำผลลัพธ์ที่ได้กลับมาเป็นตัวแปร $result ซึ่งจะเป็น object ที่ใช้ในการดึงข้อมูลจากฐานข้อมูล MySQL ที่เชื่อมต่ออยู่ จากนั้นเราสามารถใช้ฟังก์ชัน mysqli_fetch_assoc() เพื่อดึงข้อมูลออกมาจาก $result และนำมาใช้ได้ตามต้องการ ซึ่ง mysqli_fetch_assoc() จะส่งคืนผลลัพธ์ในรูปแบบของ array ที่มีชื่อ field เป็น key และ value เป็นค่าข้อมูล
อย่างไรก็ตาม เราควรระมัดระวังในการใช้ mysqli_query() เพราะมันอาจเป็นประตูเปิดให้ผู้ไม่ประสงค์ดีโจมตีฐานข้อมูลด้วย SQL Injection ได้ ดังนั้นเราควรตรวจสอบและกรองข้อมูลก่อนส่งไปยังฐานข้อมูลโดยใช้ฟังก์ชัน mysqli_real_escape_string() เพื่อป้องกันการโจมตีด้วย SQL Injection และควรใช้ Prepared Statements เพื่อเพิ่มความปลอดภัยในการเชื่อมต่อฐานข้อมูล MySQL โดย Prepared Statements เป็นเทคนิคในการเชื่อมต่อฐานข้อมูล MySQL โดยมีการเตรียมคำสั่ง SQL ล่วงหน้า ดังนั้นผู้โจมตีไม่สามารถใส่คำสั่ง SQL โดยตรงเข้าไปในคำสั่ง SQL ที่เราเตรียมไว้ ทำให้ป้องกันการโจมตีด้วย SQL Injection ได้เป็นอย่างดี
นอกจากนี้ mysqli ยังมีฟังก์ชันอื่นๆ ที่สามารถใช้งานได้ เช่น mysqli_fetch_array() เพื่อเรียกข้อมูลจากตารางในฐานข้อมูล MySQL และ mysqli_stmt_bind_param() เพื่อกำหนดค่า parameter ในคำสั่ง SQL ที่เราต้องการให้ส่งไปยังฐานข้อมูล
นอกจากนี้ mysqli ยังมีคุณสมบัติและการปรับปรุงเพิ่มเติม เพื่อช่วยให้นักพัฒนาสามารถเชื่อมต่อฐานข้อมูล MySQL ได้สะดวกยิ่งขึ้น และเพิ่มประสิทธิภาพการทำงานของระบบ
สรุปมาให้ดูว่า mysqli นั้นเป็น extension ของ PHP ที่สามารถเชื่อมต่อกับฐานข้อมูล MySQL และมีคุณสมบัติและความสามารถที่มากกว่า mysql extension ที่ใช้ใน PHP เวอร์ชันเก่าๆ ซึ่งจะช่วยให้นักพัฒนาสามารถจัดการกับฐานข้อมูล MySQL ได้อย่างมีประสิทธิภาพและปลอดภัยมากยิ่งขึ้น
ความหมายและการใช้งาน
ฟังก์ชัน mysqli_connect () จะเปิดการเชื่อมต่อใหม่เข้ากับเซิร์ฟเวอร์ MySQL
Parameter | Description |
---|---|
servername | ตัวเลือก. ระบุ ชื่อโฮสต์ หรือ ที่อยู่ IP Address (โดยปกติจะใช้ ” localhost “) |
username | ตัวเลือก. ระบุ MySQL username (ชื่อผู้ใช้ database) |
password | ตัวเลือก. ระบุ MySQL password (รหัสผ่าน database) |
dbname | ตัวเลือก. ระบุ ชื่อฐานข้อมูล (database) ที่ต้องการเชื่อมต่อ |
port | ตัวเลือก. ระบุ หมายเลย port to attempt to connect to the MySQL server |
socket | ตัวเลือก. ระบุ socket หรือ named pipe to be used |
.
0 ความคิดเห็น