Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: MySQLi аналоги MySQL команд.
Форумы портала PHP.SU » » Вопросы новичков » MySQLi аналоги MySQL команд.

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

1. igosja - 09 Февраля, 2015 - 18:01:23 - перейти к сообщению
При тестировании кода система настойчиво рекомендует запросы 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, но это писанины на пару строк с массивами. Как это сделать аналогично одной командой?
2. KEFIR4UK - 09 Февраля, 2015 - 18:09:28 - перейти к сообщению
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
3. exlant - 09 Февраля, 2015 - 18:39:29 - перейти к сообщению
я бы сделал так
PHP:
скопировать код в буфер обмена
  1.  
  2.     mysqli_field_seek($result_sql, 1);
  3.     $value = mysqli_fetch_field($result_sql);
  4.  
4. igosja - 09 Февраля, 2015 - 21:16:26 - перейти к сообщению
За полдня вроде как нашел.
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']
;
5. Sail - 10 Февраля, 2015 - 09:08:40 - перейти к сообщению
igosja, если нужен результат первой (нулевой, если в другой нумерации Улыбка ) строки, и запрос возвращает только нужные поля, можно сделать проще (предварительно проверив на корректность отработки запроса и наличия необходимой одной строчки выборки):
PHP:
скопировать код в буфер обмена
  1. list($var1, $var2) = $result->fetch_array(MYSQLI_NUM);

 

Powered by ExBB FM 1.0 RC1