PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
igosja
Отправлено: 09 Февраля, 2015 - 18:01:23
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




При тестировании кода система настойчиво рекомендует запросы mysql переписать в mysqli.
Я не смог нагуглить аналога только одной команды, которой я постоянно пользуюсь - mysql_result, поэтому прошу помощи, подскажите, как это написать.

PHP:
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM `table`";
  2. $result_sql = mysql_query($sql);
  3. //нашел аналог $mysqli->query($sql);
  4.  
  5. $count_result = mysql_num_rows($result_sql);
  6. //нашел аналог $result_sql->num_rows;
  7.  
  8. $value = mysql_result($result_sql,0,'value');
  9. //Аналога не нашел, видел функции типа fetch_assoc, но это писанины на пару строк с массивами. Как это сделать аналогично одной командой?
 
 Top
KEFIR4UK
Отправлено: 09 Февраля, 2015 - 18:09:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 161
Дата рег-ции: Апр. 2014  


Помог: 0 раз(а)




igosja пишет:
При тестировании кода система настойчиво рекомендует запросы mysql переписать в mysqli.
Я не смог нагуглить аналога только одной команды, которой я постоянно пользуюсь - mysql_result, поэтому прошу помощи, подскажите, как это написать.

PHP:
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM `table`";
  2. $result_sql = mysql_query($sql);
  3. //нашел аналог $mysqli->query($sql);
  4.  
  5. $count_result = mysql_num_rows($result_sql);
  6. //нашел аналог $result_sql->num_rows;
  7.  
  8. $value = mysql_result($result_sql,0,'value');
  9. //Аналога не нашел, видел функции типа fetch_assoc, но это писанины на пару строк с массивами. Как это сделать аналогично одной командой?

Я бы вам советовал использовать PDO
 
 Top
exlant
Отправлено: 09 Февраля, 2015 - 18:39:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




я бы сделал так
PHP:
скопировать код в буфер обмена
  1.  
  2.     mysqli_field_seek($result_sql, 1);
  3.     $value = mysqli_fetch_field($result_sql);
  4.  
 
 Top
igosja
Отправлено: 09 Февраля, 2015 - 21:16:26
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




За полдня вроде как нашел.
PHP:
скопировать код в буфер обмена
  1. $value = mysql_result($result_sql,0,'value');
  2. //аналог
  3. $result_array = $result_sql->fetch_all(MYSQLI_ASSOC);
  4. $value = $result_array[0]['value']
;
 
 Top
Sail
Отправлено: 10 Февраля, 2015 - 09:08:40
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




igosja, если нужен результат первой (нулевой, если в другой нумерации Улыбка ) строки, и запрос возвращает только нужные поля, можно сделать проще (предварительно проверив на корректность отработки запроса и наличия необходимой одной строчки выборки):
PHP:
скопировать код в буфер обмена
  1. list($var1, $var2) = $result->fetch_array(MYSQLI_NUM);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB