За последние 24 часа нас посетили 18072 программиста и 1651 робот. Сейчас ищут 1779 программистов ...

Почему пропускает первую запись while($res = mysqli_fetch_assoc($var))

Тема в разделе "MySQL", создана пользователем Conus, 20 фев 2017.

  1. Conus

    Conus Активный пользователь

    С нами с:
    21 окт 2015
    Сообщения:
    92
    Симпатии:
    0
    Код (Text):
    1.    while($res = mysqli_fetch_assoc($var))
    2.            {
    3.                 $view .= $res['name'] .'<br> ';
    4.            }
     
  2. valentinnew

    valentinnew Активный пользователь

    С нами с:
    30 янв 2011
    Сообщения:
    161
    Симпатии:
    36
    а откуда такой вывод, что первая запист пропущена?
     
  3. Conus

    Conus Активный пользователь

    С нами с:
    21 окт 2015
    Сообщения:
    92
    Симпатии:
    0
    Судя по таблице, в которой я и записывал что то
    id №1 не не выводится
     
  4. valentinnew

    valentinnew Активный пользователь

    С нами с:
    30 янв 2011
    Сообщения:
    161
    Симпатии:
    36
    ну а там select показать?
     
    denis01 нравится это.
  5. Conus

    Conus Активный пользователь

    С нами с:
    21 окт 2015
    Сообщения:
    92
    Симпатии:
    0
    Ты че, подкалываешь - SELECT * from table
     
  6. valentinnew

    valentinnew Активный пользователь

    С нами с:
    30 янв 2011
    Сообщения:
    161
    Симпатии:
    36
    https://php.ru/manual/mysqli-result.fetch-assoc.html

    Ошибка либо у тебя в коде, либо в драйвере mysqli... Я склоняюсь ко второму
     
  7. Conus

    Conus Активный пользователь

    С нами с:
    21 окт 2015
    Сообщения:
    92
    Симпатии:
    0
    Какая ошибка?

    Код (Text):
    1. function connect($host, $user, $password, $database)
    2. {
    3.         $link = mysqli_connect($host, $user, $password, $database)
    4.                                                 or die("Error connection : ".mysqli_error($link));  
    5.         if(!mysqli_set_charset($link, "utf8")) { printf("Error set char db : ".mysqli_error($link)); }
    6.         return $link;
    7. }
    8. function Quest($Question)
    9.     {  
    10.         $host = "localhost";
    11.         $user = "xxx";
    12.         $password = "xxx";
    13.         $database = "xxx";                          
    14.         return mysqli_query((connect($host, $user, $password, $database)),  $Question);
    15.         mysqli_close($link);
    16.     }
    --- Добавлено ---
    смысл в том что база уже закрыта, я обрабатываю только ответ
     
  8. valentinnew

    valentinnew Активный пользователь

    С нами с:
    30 янв 2011
    Сообщения:
    161
    Симпатии:
    36
    а если не закрывать соединение? чисто ради эксперемента?
     
  9. valentinnew

    valentinnew Активный пользователь

    С нами с:
    30 янв 2011
    Сообщения:
    161
    Симпатии:
    36
    1) почему mysqli_close($link); после return?
    2) нет ли конфликта с предыдущим запросом, вызванным данной функцией, т.к. он не закрыт?
     
  10. Conus

    Conus Активный пользователь

    С нами с:
    21 окт 2015
    Сообщения:
    92
    Симпатии:
    0
    так читает
    Код (Text):
    1.     foreach($var as $k=>$value)
    2.                 {
    3.                     foreach($value as $key=>$val)
    4.                     {
    5.                         $view .= $key . ' : ' .$val .' | ';
    6.                     }
    7.                     $view .=  '<br>';
    8.                 }
    9.  
    10.             return $view;
     
  11. valentinnew

    valentinnew Активный пользователь

    С нами с:
    30 янв 2011
    Сообщения:
    161
    Симпатии:
    36
    Остаются только данные. Можно взглянуть на первую строку?
     
  12. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    ты уверен, что у тебя не происходит что-то похожее на это:
    PHP:
    1. $res = mysqli_fetch_assoc($var);
    2. while($res = mysqli_fetch_assoc($var)) {
    3. /*...*/
    4. }
     
  13. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Нет. Остается лишь один вариант: топикстартер кидает абстрактные куски кода, которые отличаются от реального строкой 1 из примера @TeslaFeo
     
  14. valentinnew

    valentinnew Активный пользователь

    С нами с:
    30 янв 2011
    Сообщения:
    161
    Симпатии:
    36
    да не может быть. Это или функция тупит, или while или вообще интерпертатор php
     
  15. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    А, понял.

    [​IMG]
     
    valentinnew нравится это.
  16. Conus

    Conus Активный пользователь

    С нами с:
    21 окт 2015
    Сообщения:
    92
    Симпатии:
    0
    Скорее функция, это в сниппете на modx