Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблема при работе со значением из БД.


Автор: Vermaxt 8.1.2010, 19:45
Доброе. Проблема такая. Создаю БД.
Код

CREATE TABLE `item_db` (
  `id` smallint(5) unsigned NOT NULL default '0',
  `name_english` varchar(50) NOT NULL default '',
  `name_japanese` varchar(50) NOT NULL default '',
  `type` tinyint(2) unsigned NOT NULL default '0',
  `price_buy` mediumint(10) unsigned default NULL,
  `price_sell` mediumint(10) unsigned default NULL,
  `weight` smallint(5) unsigned NOT NULL default '0',
  `attack` smallint(3) unsigned default NULL,
  `defence` tinyint(3) unsigned default NULL,
  `range` tinyint(2) unsigned default NULL,
  `slots` tinyint(2) unsigned default NULL,
  `equip_jobs` int(12) unsigned default NULL,
  `equip_upper` tinyint(8) unsigned default NULL,
  `equip_genders` tinyint(2) unsigned default NULL,
  `equip_locations` smallint(4) unsigned default NULL,
  `weapon_level` tinyint(2) unsigned default NULL,
  `equip_level` tinyint(3) unsigned default NULL,
  `refineable` tinyint(1) unsigned default NULL,
  `view` tinyint(3) unsigned default NULL,
  `script` text,
  `equip_script` text,
  `unequip_script` text,
  PRIMARY KEY  (`id`)
);


Добавляю много строк. Привожу ту с которой проблемы
Код

REPLACE INTO `item_db` VALUES (2114,'Stone_Buckler','Stone Buckler',5,NULL,10,1500,NULL,3,NULL,1,0xFFFFFFFE,7,2,32,NULL,65,1,2,' bonus2 bSubSize,2,5; if (isequipped(2353,5122)) { bonus bStr,2; bonus bDef,5; bonus bMdef,5; if(BaseClass == Job_Swordman) bonus bDef,6; } ',NULL,NULL);


Теперь достаю нужное мне значение и по определенным причинам мне нужно узнать остаток этого числа от деления на 2.
Код

mysql_connect("localhost","root","");
mysql_select_db("ro");
$row=mysql_fetch_row(mysql_query("SELECT `equip_jobs` FROM `item_db` WHERE `id`=2114"));
echo $row[0]."<br>";
echo $row[0] % 2;


На выходе получаю:

4294967294
1

Проблема такая. 0xFFFFFFFE(16) = 4294967294(10). А остаток от деления 4294967294 на 2 никак не единица. Помогите решить проблему.

Автор: Simpliest 8.1.2010, 19:51
Код

<?php
echo PHP_INT_MAX;

Автор: Vermaxt 8.1.2010, 20:36
Вопрос отпал...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)