как напечатать результат mysql RESOURCE_ID(7) без mysql_fetch_array

#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 помощью . Затем он возвращает вам данные, которые вы можете распечатать.

Если вам нужен только первый результат, просто вызовите эту функцию один раз.