Зацикливаясь в mysqli подготовил заявление - PullRequest
1 голос
/ 20 марта 2012

Возможно ли сделать что-то, как мы делаем в обычных запросах mysqli в подготовленных операторах во время блокировки.Например,

$sql = "SELECT * FROM users"*;
$query = mysqli_query($link, $sql);
while($row = mysqli_fetch_assoc($query)){
   echo $row['username'];
   echo $row['name'];
}

В подготовленных утверждениях это выглядит следующим образом

$fetch_comments = $friend_zone->prepare("SELECT item_poster, comment FROM status_comments WHERE status_id = ? and item_poster = ?");
$fetch_comments->bind_param("is", $status__id, $item_poster);
$fetch_comments->execute();
$fetch_comments->store_result();
$fetch_comments->bind_result($item_poster_fetched, $comment_fetched);
while($fetch_comments->fetch(){
  echo $item_poster;
}

Что я имею в виду, я хочу сделать эхо, как это так

echo $row['something'];

Решение, которое я придумала сейчас, - это извлечь их, используя результат связывания, затем поместить их в массив внутри цикла и затем foo['bar']; или что-то в этом роде.Есть ли лучший способ?

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Разве это не работает?

$fetch_comments = $friend_zone->prepare("SELECT item_poster, comment FROM status_comments       WHERE status_id = ? and item_poster = ?");
$fetch_comments->bind_param("is", $status__id, $item_poster);
$fetch_comments->execute();
$result = $fetch_comments->get_result();
while ($row = $result->fetch_assoc()) {

    echo($row['something']);

}
1 голос
/ 20 марта 2012

Ты почти со своим кодом. Вам просто нужно присвоить значение $ row в проверке состояния цикла while:

while( $row = $fetch_comments->fetch() ) {
   echo $row['somefield'];
}

Данные теперь привязаны к переменной $item_poster_fetched из того, что я понимаю ...

while($fetch_comments->fetch())
{
    $item_poster_fetched['something'];
}
...