Как лучше всего сделать из такого простого запроса простой while? PHP: $result= $mysqli->query("SELECT `name` FROM `cat` WHERE `id` IN (1,2,3)"); if (!$result) { echo "<p><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>Error.</p>"; exit (); } if (mysqli_num_rows($result) > 0) { $myrow = mysqli_fetch_array($result); $name = $myrow["name"]; echo $name; }
PHP: if ($result = $mysqli->query($query)) { while ($row = $result->fetch_assoc()) { echo $row['name'] } $result->free(); } $mysqli->close();
free() используют когда запросы к бд возвращают большое количество данных.Она освобождает память.В целом по окончании работы скрипта память очищается. close() использовать не обязательно,так как соединения удаляются автоматически по окончанию работы скрипта,но рекомендуется
Это как закрытие сессии, вроде бы автоматически происходит в конце работы скрипта, а, вроде бы, и самому делать порой нужно, потому как иначе файл сессии блокируется, пока скрипт работает, что, в итоге, может выйти боком. То есть оно как бы автоматизировано, но как бы не всегда есть резон ждать.