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 :: Версия для печати :: Чтение из mysql
Форумы портала PHP.SU » PHP » Программирование на PHP » Чтение из mysql

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

1. Никола - 08 Июня, 2007 - 04:54:25 - перейти к сообщению
Здравствуйте все

Есть значит база new в ней таблица users в таблице четыре столбца id nick password exp

и записан в эту таблицу пользователь

id......nick........password.... ...exp
---------------------------------------
1.......user...........123...... ......30

мне нужно взять значение exp чтобы потом прибавить к нему 1 и записать обратно
вот как я это пытыюсь делать - пока я просто пытаюсь увидеть чему равен exp у пользователя user, но вместо этого вижу при правельно заданном пользователе 1 а неправельном 0 - кто нубудь знает как получить конкретное число (в этом случае 30)

<?php

$link = mysql_connect('localhost', '', '');
mysql_select_db('new',$link);

$nick='user';

$num=mysql_num_rows(mysql_query("SELECT `exp` FROM `users` WHERE `nick`='".$nick."'",$link));

echo ($num);
?>

2. evgenijj - 08 Июня, 2007 - 09:02:12 - перейти к сообщению
Странно ты как-то получаешь значение exp: функция mysql_num_rows() возвращает количество строк результата запроса (это видно даже из ее названия). Вполне логично, если имя пользователя задано правильно - количество возвращаемых строк равно 1 (ведь у тебя нет 2, 3, 4,... пользователей с одинаковыми nick). Если имя пользователя задано неверно - функция mysql_num_rows() возвращает 0 (пользователь с таким nick не найден).
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $query = "SELECT exp FROM users WHERE nick='".$nick."'";
  4. $res = mysql_query( $query );
  5. if ( mysql_num_rows( $res ) > 0 )
  6.   $exp = mysql_result( $res, 0, 0 );
  7. else
  8.   echo "Нет такого пользователя";
  9. ?>
  10.  
3. Никола - 09 Июня, 2007 - 01:14:11 - перейти к сообщению
evgenijj спасибо работает - я чтото даже не задумался о mysql_num_rows() - неделю только mysql юзаю

Единственное ты забыл фигурные скобки после if - я допишу вдруг кому понадобится


<?php

$link = mysql_connect('localhost', '', '');
mysql_select_db('new',$link);

$nick='user';
$query = "SELECT exp FROM users WHERE nick='".$nick."'";
$res = mysql_query( $query );
if ( mysql_num_rows( $res ) > 0 )
{
$exp = mysql_result( $res, 0, 0 );
echo ($exp);
}
else
echo "Нет такого пользователя";
?>
4. kamikadze - 09 Июня, 2007 - 10:03:59 - перейти к сообщению
Как раз Язычок ! Фигурные скобки иногда можно упускать и не пользовася ими (туториалы почитай)
5. Никола - 13 Июня, 2007 - 01:29:06 - перейти к сообщению
kamikadze а у меня без них непашет
6. kamikadze - 13 Июня, 2007 - 16:30:26 - перейти к сообщению
Не понял Во всем мануалах КРИКОМ сказано Радость Что если условие например одно или просто не очень много то можно не ставить
7. valenok - 14 Июня, 2007 - 20:33:06 - перейти к сообщению
"или просто не очень много"

Никогда в жизни не используй больше этот мануал на своё же благо

 

Powered by ExBB FM 1.0 RC1