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

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

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

ดูแล้ว 43,558 ครั้ง


รูปแบบไม่มีอะไรมาก
เริ่มต้น สร้างไฟล์ 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:: mysqli php mysql







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











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