我总是发现很难编写MySQLi预备语句,因为许多函数的工作方式与旧方法不同。现在我面临一个问题fetch_array()。
fetch_array()
$stmt = $db->prepare("SELECT category_id FROM post_items Where user_id = ?"); $stmt->bind_param('i', $userid); $result = $stmt->execute(); while ($row = $result->fetch_array()) { // ... }
您正在尝试通过以下方式获取结果
$result = $stmt->execute();
事实并非如此。因为execute将仅返回布尔值。
做喜欢的。
$stmt = $db->prepare("SELECT category_id FROM post_items Where user_id = ?"); $stmt->bind_param('i', $userid); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { //result is in row }