mysqli connect (php) คืออะไร ?

php-mysqli คืออะไร

Written by admin

28 มีนาคม 2021

mysqli connect (php) คืออะไร ?

Ads



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

ParameterDescription
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

.

Ads



ทำเว็บไซต์บริษัท ออกแบบเว็บไซต์บริษัท ราคาถูก เว็บไซต์แสดงโปรไฟล์บริษัท ทำเว็บไซต์องค์กร ออกแบบเว็บไซต์ใหม่ทั้งระบบ ทีมงานมืออาชีพที่ใส่ใจคุณ

Aoo Studio Digital 2U ให้บริการรับวางระบบ ไอที ซัพพอร์ต การตลาดดิจิตอล ทำเว็บไซต์ One Page ทำเว็บไซต์บริษัท

zixzax ทำเว็บไซต์ - ออกแบบเว็บไซต์ - ตัวอย่างเว็บไซต์

[ccpw id=”844″]

[cryptopack id=”834″]

บทความที่เกี่ยวข้อง

SQL Injection คืออะไร ?

SQL Injection เป็นเทคนิคการโจมตีที่ใช้เทคโนโลยี SQL เพื่อโจมตีฐานข้อมูลของระบบ เป็นการกรอกข้อมูลโจมตีโดยไม่ได้รับอนุญาตหรือการตรวจสอบจากฝั่งเซิร์ฟเวอร์

บทความอื่นๆ ที่คุณอาจสนใจ

SQL Injection คืออะไร ?

SQL Injection คืออะไร ?

SQL Injection เป็นเทคนิคการโจมตีที่ใช้เทคโนโลยี SQL เพื่อโจมตีฐานข้อมูลของระบบ...

Non-Fungible Token (NFT) คืออะไร

Non-Fungible Token (NFT) คืออะไร

NFT (Non-Fungible Token) คือสินทรัพย์ดิจิทัลที่แสดงถึงวัตถุในโลกแห่งความเป็นจริง เช่น ศิลปะ ดนตรี...

P2P (Peer-To-Peer) คืออะไร

P2P (Peer-To-Peer) คืออะไร

peer to peer network (P2P) เป็นเครือข่ายคอมพิวเตอร์ธรรมดา เกิดขึ้นครั้งแรกในปลายทศวรรษ...

Internet of Things (IOT) คืออะไร?

Internet of Things (IOT) คืออะไร?

บทนำสั้นๆ เกี่ยวกับ Internet of Things (IOT) อนาคตของ IOT : สิ่งที่เราคาดหวังได้จากมัน Internet of Things คือ...

0 ความคิดเห็น