Devdit
 

Fatal error: Uncaught TypeError: mysqli_fetch_assoc(): คือ วิธีแก้ไข

1.6K

ฝึกเขียนภาษา PHP เชื่อมต่อฐานข้อมูล MariaDB โดยใช้คำสั่ง mysqli_fetch_assoc วนลูปแสดงข้อมูล แต่รันแล้วขึ้น Error ว่า Fatal error: Uncaught TypeError: mysqli_fetch_assoc(): Argument #1 ($result) must be of type mysqli_result, bool given แบบนี้ต้องแก้ไขอย่างไร

<?php
    $sql = " SELECT * AS value FROM book WHERE ";
    $q = mysqli_query( $mysqli, $sql );
    while( $f = mysqli_fetch_assoc( $q ) ) {
        echo $f['id']."<br/>";
    }
?>

 

วิธีแก้ไข

เมื่อพิจารณาจากโค้ดแล้ว ปัญหานี้เกิดจากคำสั่ง SQL ของตัวแปร sql มีการเขียนผิด ตรง AS value ไม่ต้องใส่ เนื่องจาก SELECT * เป็นการดึงข้อมูลทุก Columns ส่งผลให้เวลาดึงข้อมูลด้วย mysqli_fetch_assoc จึงเกิด Error ขึ้น แนะนำให้แก้ไขคำสั่ง SQL แล้วลองรันใหม่ สามารถแก้ไขได้ดังนี้

<?php
    $sql = " SELECT * FROM book WHERE ";
    $q = mysqli_query( $mysqli, $sql );
    while( $f = mysqli_fetch_assoc( $q ) ) {
        echo $f['id']."<br/>";
    }
?>
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ