มาใช้ mysqli แทน mysql แบบเดิม ใน php กันอย่างง่าย

เขียนเมื่อ 10 ปีก่อน โดย Ninenik Narkdee
mysql php mysqli

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ mysql php mysqli

ดูแล้ว 44,364 ครั้ง


รูปแบบไม่มีอะไรมาก
เริ่มต้น สร้างไฟล์ connect.php  สำหรับใช้ในการเชิ่อมต่อฐานข้อมูล mysql
 
<?php
// connect.php
$db_config=array(
    "host"=>"localhost",  // กำหนด host
    "user"=>"root", // กำหนดชื่อ user
    "pass"=>"",   // กำหนดรหัสผ่าน
    "dbname"=>"test",  // กำหนดชื่อฐานข้อมูล
    "charset"=>"utf8"  // กำหนด charset
);
$mysqli = @new mysqli($db_config["host"], $db_config["user"], $db_config["pass"], $db_config["dbname"]);
if(mysqli_connect_error()) {
    die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
    exit;
}
if(!$mysqli->set_charset($db_config["charset"])) { // เปลี่ยน charset เป้น utf8 พร้อมตรวจสอบการเปลี่ยน
//    printf("Error loading character set utf8: %sn", $mysqli->error);  // ถ้าเปลี่ยนไม่ได้
}else{
//    printf("Current character set: %sn", $mysqli->character_set_name()); // ถ้าเปลี่ยนได้
}
//echo $mysqli->character_set_name();  // แสดง charset เอา comment ออก
//echo 'Success... ' . $mysqli->host_info . "n";
//$mysqli->close();
?>
 
 
ตัวอย่างการใช้งาน
 
<?php
include("connect.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css" />
    <title>Test mysqli 1</title>
</head>
<body>

    <div class="container">
       <br>
        <table class="table">
            <tr>
                <th>#</th>
                <th>Province</th>
            </tr>
<?php
$i=1;
$q="
SELECT * FROM province_th LIMIT 30
";
$result = $mysqli->query($q); // ทำการ query คำสั่ง sql 
$total=$result->num_rows;  // นับจำนวนถวที่แสดง ทั้งหมด
while($rs=$result->fetch_object()){ // วนลูปแสดงข้อมูล
?>
            <tr>
                <td><?=$i?></td>
                <td><?=$rs->province_name?></td>
            </tr>
<?php $i++; } ?>            
        </table>
    </div>    
  
<?php
$mysqli->close();
?>
</body>
</html>
 
 
มาดูคำสั่งที่ใช้บ่อย
$result = $mysqli->query($q) ทำการ query คำสั่ง sql
$total=$result->num_rows; หาจำนวนแถวที่แสดงทั้งหมด
$mysqli->close();  ปิดการเชิ่อมต่อ server database mysql
 
การวนลูปแสดงข้อมูล มีให้เลือก 4 แบบ
$result->fetch_assoc() ส่งค่ากลับมาแบบ array key เป็นชื่อ field
 
$result->fetch_row()  ส่งค่ากลับมาแบบ array key เป็น index เริ่มที่ 0,1 ....
 
$result->fetch_array()  ส่งค่าทั้งแบบ assoc และ row เขาว่าไม่น่าใช้ กินแรม
 
$result->fetch_object() ส่งค่ากลับมาแบบ object 
เราจะใช้ตัวนี้เป็นหลัก เหตุผล
เพราะเวลา เรียกใช้งาน ไม่ต้องใส่เครื่องหมาย " " เช่น $rs->province_name;
ถ้าใช้แบบ array หรือ assoc เราอาจจะต้องพิมพ์ $rs["province_name'] ส่วนใครจะ
ถนัดแบบไหนเลือกได้


   เพิ่มเติมเนื้อหา ครั้งที่ 1 วันที่ 17-03-2020


เนื้อหาเพิ่มเติม เกี่ยวกับการใช้งาน mysqli ดูต่อได้ที่


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ





Tags:: php mysql mysqli







URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ