เริ่มต้นใช้ Mysqli บทที่ 1 MySQL Configuration & Connect

PHP MySQL Configuration & Connect to Database (mysqli)

PHP MySQL Configuration & Connect to Database (mysqli) สำหรับ mysqli ไม่ใช่ function ใหม่ มันมีตั้งแต่ 4.1.13 เป็นต้นไป (เกือบ 10 ปี ปัจจุบันปี 2014) เป็น function ที่ถูกออกแบบไว้ติดต่อกับ Database ของ MySQL โดยเฉพาะ ซึ่งจะมาทำหน้าที่ทดแทน function เดิมอย่าง mysql เหตุผลหลักก็คือ function ของ mysql ธรรมดาจะถูก deprecated ในเร็ววัน มันค่อนข้างจะโบราณ และมีช่องโหว์เยอะ (หมายถึง เมื่อเขียนแล้วผู้ใช้มักจะทำช่องโหว์ไว้) ฉะนั้น mysqli ซึ่งเป็น function ปัจจุบันที่กำลังถูกแทนที่mysql มันได้ถูกออกแบบให้ทำงานได้ดีกว่าเดิม ทำงานได้เร็ว และที่สำคัญ มันปลอดภัยกกว่าการใช้ในรูปแบบเดิม ๆ มาก เช่น รองรับแนวคิด OOP ขึ้น การเขียนในรูปแบบของ Parameters Query และ Prepared Statement ที่จะผิดช่องโหว์ของการเกิดข้อผิดพลาดในการ Query ที่เกิดจากการรับค่าในรูปแบบต่าง ๆ รวมทั้งป้องกันการ Hack ผ่านพวก SQL Injection ได้เป็นอย่างดี

สำหรับ mysqli สามารถใช้ได้ตั้งแต่ PHP V 4.1.13เป็นต้นไป แต่ปัจจุบันแนะนำให้ใช้กับ PHP V 5.3 หรือ 5.4 เป็นต้นไป และ PHP Version ใหม่ ๆ ก็เปิด mysqli ให้ทันที หรือในการติดตั้งเองจำเป็นจะต้องเปิดใช้งาน php_mysqli.dll ซึ่งเป็น extension จะต้องหาไฟล์ php_mysqli.dll ที่ตรงกับ Version ของ PHP ที่เรียกใช้ด้วย

php_mysqli.dll

อย่าลืมว่าจะต้องหาไฟล์ php_mysqli.dll ให้ตรงกับ Version ของ PHP ด้วย (แนะนำให้ใช้ Version ใหม่ ๆ เพราะจะได้ Feature ที่ใช้งานได้ดีกว่า เช่น PHP V 5.3 ขึ้นไป)

อ่านเพิ่มเติมเกี่ยวกับ Version ของ PHP

http://php.net/manual/en/mysqli.requirements.php

การเรียกใช้งาน function ของ mysqli

connect.php

___________________________________________________________________________________

<html>
<head>
<title>ThaiCreate.Com PHP & SQL Server (PDO)</title>
</head>
<body>
<?phpini_set(‘display_errors’, 1);
error_reporting(~0);

$serverName = “localhost”;
$userName = “root”;
$userPassword = “root”;
$dbName = “mydatabase”;

$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);

if (mysqli_connect_errno())
{
echo “Database Connect Failed : ” . mysqli_connect_error();
}
else
{
echo “Database Connected.”;
}

mysqli_close($conn);
?>
</body>
</html>

____________________________________________________________________________

PHP MySQL (mysqli)

Error

Fatal error: Call to undefined function mysqli_connect() in D:\AppServ\www\myphp\connect.php on line 16

กรณีที่ Error นี้ นั่นคือ PHP ยังไม่รองรับ function ของ mysqli นั่นคือจะต้องทำการเปิด extension ใน php.ini ซะก่อน

PHP MySQL (mysqli)

ให้ Copy ไฟล์ php_mysqli.dll ไปไว้ในโฟเดอร์ของ extension

PHP MySQL (mysqli)

เปิดไฟล์ php.ini แล้วเปิด extension

extension=mysqli.dll

จากนั้น Restart ตัว Web Server ซะ 1 ครั้ง

Error

PHP Warning: PHP Startup: mysqli: Unable to initialize module\nModule compiled with module API=20090626, debug=0, thread-safety=0\nPHP compiled with module API=20060613, debug=0, thread-safety=1\nThese options need to match\n in Unknown on line 0

ถ้ายังไม่สามารถใช้งานได้ ให้ลองเปิด Log ของ Apache หรือ IIS ดูว่าถ้ามี Error นี้ แสดงว่าไฟล์ dll ที่ดาวน์โหลดมานั้นไม่ Support กับ PHP Version ที่ใช้งานอยู่ และอาจจะต้องหา Version ที่ตรงกับ PHP ที่เรียกใช้

PHP MySQL (mysqli)

วิธีการตรวจสอบง่าย ๆ ก็คือเรียกดูจาก phpinf();

PHP MySQL (mysqli)

ซึ่งถ้าใช้งานได้แล้ว เราจะสามารถ Connect ไปยัง Database ของ MySQL ได้เลย

บทความโดย www.thaicreate.com
Link http://www.thaicreate.com/php/php-mysql-mysqli-configuration.html

You May Also Like

About the Author: golderboy