#php #mysql
#php #mysql
Вопрос:
Есть ли какой-либо способ напечатать resource_id без mysql_fetch_array.Я не хочу перебирать результат.Я хочу напечатать только первую строку сверху.Я знаю, что mysql обесценился.Это для старого проекта.
Комментарии:
1. Добавить
LIMIT 1
в конце запроса2. Я хочу также использовать оставшиеся строки в другом месте, которые выполняются через цикл выборки массива, но если мы используем fetch_array дважды, он оставит первую строку.
Ответ №1:
В вашем случае вы можете использовать массивы
$all_rows = array();
.
. // your query
.
while($dbrow = mysql_fetch_array($query))
{
$all_rows[] = $dbrow;
}
$first_row_array = $all_rows[0]; // first row will be stored here
/*
uncomment the below line if you do not want to use the
first row again while looping through the remaining
rows
*/
/* unset($all_rows[0]); */
foreach($first_row_array as $first_row)
{
// do something with first row data
}
foreach($all_rows as $dbrow)
{
// loop through all the rows returned including the first row
}
Комментарии:
1. Как это не использует
fetch_array
…?2. Либо я неверно истолковал то, что запрашивал OP, либо у вас могло быть. Из того, что я понял, все, что хотел OP, — это извлечь первую строку из результирующего набора отдельно, а затем снова перебрать все строки. Я не уверен, как
fetch_array
fetch_assoc
здесь применимо использование or . РЕДАКТИРОВАТЬ: просто прочитайте вопрос еще раз. Я думаю, он имел в виду не использоватьfetch_array
второй раз для получения оставшихся строк
Ответ №2:
Ресурс сам по себе является довольно бессмысленным типом. Это означает что-то только для определенных функций, таких как mysql_ * . При запросе базы данных на сервере MySQL выделяются определенные ресурсы, которые содержат запрошенный вами результат; PHP пока не имеет доступа к этим результатам. Чтобы предоставить вам дескриптор этих ресурсов на сервере MySQL, вы получаете переменную типа ресурса. По сути, это просто ваш билет, в котором говорится: «если вы когда-нибудь захотите получить доступ к данным, ожидающим вас на сервере MySQL, используйте этот номер».
Итак, если вы хотите вывести данные с сервера MySQL, вам придется делать fetch
это оттуда, например, с mysql_fetch_assoc
помощью . Затем он возвращает вам данные, которые вы можете распечатать.
Если вам нужен только первый результат, просто вызовите эту функцию один раз.