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 :: Версия для печати :: Проблема с SELECT MAX
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Проблема с SELECT MAX

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

1. alfmaster - 14 Января, 2011 - 20:49:34 - перейти к сообщению
Столкнулся с проблемой такого простого кода
PHP:
скопировать код в буфер обмена
  1.  
  2. $str = mysql_query("SELECT MAX('id') FROM news");
  3. echo $str;


В результате выводит

Resource id #5

id в таблице присутствует, тип int, и даже в phpMyAdmin работает команда, а из PHP ругается.

Помогите, если возможно))

P.S. Код открытия базы и таблицы есть и правильный, проверял на других скриптах, просто выводящих данные.
2. Мелкий - 14 Января, 2011 - 21:01:11 - перейти к сообщению
значение resource и значит, что запрос выполнен верно. Для получания результатов предназначено семейство функций mysql_fetch_
3. ams - 14 Января, 2011 - 23:38:40 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $str= mysql_query("SELECT id FROM news WHERE id=(SELECT id FROM news ORDER BY id DESC LIMIT 1)");
  3. $num_rows = mysql_fetch_array($str);
  4. echo $num_rows;
  5.  

Радость
4. evgenijj - 14 Января, 2011 - 23:58:25 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. $str = mysql_query("SELECT MAX('id') FROM news");
  3. echo $str;

Надо примерно так
PHP:
скопировать код в буфер обмена
  1. $res = mysql_query("SELECT MAX('id') FROM news");
  2. $max= mysql_result( $res, 0, 0 );
  3. echo $max;

или так
PHP:
скопировать код в буфер обмена
  1. $res = mysql_query("SELECT MAX('id') FROM news");
  2. $max= mysql_fetch_array( $res );
  3. echo $max[0];

PHP:
скопировать код в буфер обмена
  1. $res = mysql_query("SELECT MAX('id') as maxid FROM news");
  2. $max= mysql_fetch_array( $res );
  3. echo $max['maxid'];
5. Virbus - 19 Июля, 2015 - 21:03:32 - перейти к сообщению
Работает такой код:
PHP:
скопировать код в буфер обмена
  1. echo $str =mysql_result (mysql_query("SELECT MAX(NDOC) FROM Doc WHERE TYPEDOC= \"$typedoc\""),0,0);

выдаёт максимальный номер NDOC из таблицы Doc отфильтрованной по столбцу TYPEDOC

 

Powered by ExBB FM 1.0 RC1