Tôi đang tìm hiểu về các câu lệnh đã chuẩn bị và cố gắng làm việc với truy vấn mang lại nhiều hàng kết quả. Ngay bây giờ, tôi chỉ cố gắng tìm ra cách xác định số lượng hàng và sau đó hiển thị số đó trong html.Báo cáo chuẩn bị - Số hàng
tuyên bố chuẩn bị của tôi trông như thế này:
if($stmt = $mysqli -> prepare("SELECT field1, field2, field3 FROM table WHERE id= ?ORDER BY id ASC"))
{
/* Bind parameters, s - string, b - blob, i - int, etc */
$stmt -> bind_param("i", $id);
$stmt -> execute();
/* Bind results */
$stmt -> bind_result($testfield1, $testfield2, $testfield3);
/* Fetch the value */
$stmt -> fetch();
/* Close statement */
$stmt -> close();
}
Tôi hiểu rằng tôi phải đầu tiên lưu các kết quả, sau đó sử dụng num_rows
, như thế này:
$stmt->store_result();
$stmt->num_rows;
Tuy nhiên, tôi chạy và phát hành với trang bị lỗi khi tôi đặt mã đó vào đó. Tôi thậm chí không thể đến bước tiếp theo để hiển thị số hàng
Vì vậy, câu hỏi là: Tôi thiếu gì về tính toán số hàng trong câu lệnh đã chuẩn bị, sau đó làm thế nào tôi sẽ hiển thị nó với một số <?php echo '# rows: '.$WHATGOESHERE;?>
Cảm ơn !!
đâu nó đi trong báo cáo chuẩn bị tôi đã đăng? Sau khi thực thi()? Sau khi bind_result, hoặc lấy? Nó có quan trọng không? – Kevin
@Kevin Tôi không tin như vậy. Chỉ cần chắc chắn rằng nó đi sau khi thực hiện và nó sẽ là tốt –
Oh và bằng cách bạn quên một không gian giữa '?' Và 'ORDER BY'. Tôi sẽ cập nhật câu trả lời của mình để sửa lỗi –