Xem giúp code bị Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given

Nó bị lỗi như vậy tại dòng 181 mình có đánh dấu
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given

code:

if(isset($_GET['brands']))
{
   
    $branchecked = [];
    $branchecked = $_GET['brands'];
    foreach($branchecked as $rowbrand)
    {
        // echo $rowbrand;
       
        $products = "SELECT * FROM `products` WHERE `type_id` LIKE ? IN ($rowbrand)";
        $products_run = mysqli_query($con, $products);
        if(mysqli_num_rows($products_run) > 0) //line 181
        {
           
            foreach($products_run as $proditems) :
                ?>
               
                <div class="col-sm-4">
                    <div class="product-image-wrapper">
                        <div class="single-products">
                            <div class="productinfo text-center" style="height:360px">
                                <a href="detail.php?id=<?php echo $proditems['ID'] ?>">
                                    <img class="img-fluid img-products" style="width: 250px; height: 200px"
                                        src="images/<?php echo $proditems['pro_image'] ?>" alt="" >
                                    <p class="title-products "><?php echo $proditems['name'] ?></p>
                                    <p class="price-products"><?php echo number_format($proditems['price']) ?> VND
                                    </p>
                                    <a href="cart.php?id=<?php echo $proditems['ID'] ?>"
                                        class="btn btn-default add-to-cart"><i
                                            class="fa fa-shopping-cart"></i>Thêm vào giỏ</a>
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
                <?php
            endforeach;
        }
    }
}

Bạn đã dịch câu thông báo lỗi chưa
Bạn đã đọc về hàm trong câu thông báo lỗi chưa?

2 Likes

Mình cũng chưa hiểu lắm về lỗi này…Mong bạn có thể giải đáp giúp mình với

Bạn đã làm 2 việc mình ghi ở trên chưa?

Có rồi bạn… cái kết quả truyền vào là 1 tham số mysqli_result

bến này có chắc là mysqli_result không?

bạn đã đọc về hàm mysqli_query này chưa

1 Like

Chưa bạn…mình xem hướng dẫn trên youtube nên cũng chưa rõ


câu hỏi của bạn, chỉ cần google đúng cái tên hàm, không có từ khóa gì thêm, ngay kết quả đầu tiên dẫn đến tài liệu chính thức của php
hàm đó trả về false khi query fail hoặc mysqli_result nếu thành công

tới đây cấi warning nói bạn truyền false vào cái hàm mysqli_num_rows, có nghĩa là $products_run = mysqli_query($con, $products); đang trả về false, có nghĩa là biến $products_run đang là false

vậy là $products_run = mysqli_query($con, $products); câu lệnh này trả về false
tài liệu có nói là query bị fail, vậy có nghĩa là query không đúng, connection có vấn đề …

kiến thức không phải tự nhiên mà có, mà phải bỏ thời gian ra tìm hiểu, cơ bản nhất là bạn phải tìm hiểu bất kì những gì có liên quan đến thứ mà bạn đang làm, thứ mà bạn chưa hiểu, search tất cả những từ khóa có thể search

chỉ có chủ động tìm hiểu mới là cách nhanh nhất, và rõ ràng chỉ cần gõ tên hàm vào google mà bạn có vẻ như cũng chưa làm.

3 Likes

Do query của bạn sai,

SELECT * FROM `products` WHERE `type_id` LIKE ? IN ($rowbrand)

LIKE ? IN ($rowbrand) làm gì có cú pháp ntn

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?