一尘不染

mysqli准备语句中带有fetch_array的SELECT语句

mysql

我总是发现很难编写MySQLi预备语句,因为许多函数的工作方式与旧方法不同。现在我面临一个问题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()) {
    // ...
}

阅读 252

收藏
2020-05-17

共1个答案

一尘不染

您正在尝试通过以下方式获取结果

$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
}
2020-05-17