我的数据库是mysql,sale表里有一个hit列,hit列用来存放用户点击次数假如sale表里hit的初始值是10$num=取得sale表里hit列的值是10,到此为止没问题
$num+=1;//此时输出$num的值是11,也没有问题
Mysql_Query("Update `sele` set hit='{$num}' where id='{$id}'");//到这里就出错了,打开数据库后你会发现hit的值是12,按理说应该是11的.注意:程序代码绝对没错,我用同样的代码操作news表,一切正常
只有在操作这个sale表时一旦执行update操作就会出错,所以我怀疑可能是这个sale表的问题或者是mysql的bug之类的问题导致的.请朋友们指教!!!sale表的结构如下:
CREATE TABLE `sele` (
`id` mediumint(9) NOT NULL auto_increment,
`uid` mediumint(9) NOT NULL default '0' COMMENT '發布者id,對應user',
`cid` mediumint(9) NOT NULL default '0' COMMENT '小分類id,對應class',
`tid` mediumint(9) NOT NULL default '0' COMMENT '所屬城市,對應cache_town的key值',
`typ` tinyint(2) NOT NULL default '2' COMMENT '狀態:參考Arr(1)',
`btyp` varchar(50) NOT NULL default '1' COMMENT '交易類型:1擔保交易;2私下交易',
`styp` varchar(50) default NULL COMMENT '運送方式,逗號分隔并包裹,如:,1,2,',
`title` varchar(200) default NULL COMMENT '標題',
`price` int(11) default '0' COMMENT '價格:0價格面議',
`mess` varchar(2000) default NULL COMMENT '詳細內容',
`img` varchar(500) default NULL COMMENT '片圖路徑和名稱(不含根路徑@up),逗號分隔包裹',
`user` varchar(10) default NULL COMMENT '聯繫人',
`tel` varchar(50) default NULL COMMENT '電話或手機',
`jishi` tinyint(2) default '1' COMMENT '即時通的類型',
`jishi1` varchar(50) default NULL COMMENT '即時通的號碼',
`hit` mediumint(9) default '0' COMMENT '點擊次數',
`ord` mediumint(9) default '0' COMMENT '排序值',
`tim` int(9) default '0' COMMENT '添加的時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8;
$num+=1;//此时输出$num的值是11,也没有问题
Mysql_Query("Update `sele` set hit='{$num}' where id='{$id}'");//到这里就出错了,打开数据库后你会发现hit的值是12,按理说应该是11的.注意:程序代码绝对没错,我用同样的代码操作news表,一切正常
只有在操作这个sale表时一旦执行update操作就会出错,所以我怀疑可能是这个sale表的问题或者是mysql的bug之类的问题导致的.请朋友们指教!!!sale表的结构如下:
CREATE TABLE `sele` (
`id` mediumint(9) NOT NULL auto_increment,
`uid` mediumint(9) NOT NULL default '0' COMMENT '發布者id,對應user',
`cid` mediumint(9) NOT NULL default '0' COMMENT '小分類id,對應class',
`tid` mediumint(9) NOT NULL default '0' COMMENT '所屬城市,對應cache_town的key值',
`typ` tinyint(2) NOT NULL default '2' COMMENT '狀態:參考Arr(1)',
`btyp` varchar(50) NOT NULL default '1' COMMENT '交易類型:1擔保交易;2私下交易',
`styp` varchar(50) default NULL COMMENT '運送方式,逗號分隔并包裹,如:,1,2,',
`title` varchar(200) default NULL COMMENT '標題',
`price` int(11) default '0' COMMENT '價格:0價格面議',
`mess` varchar(2000) default NULL COMMENT '詳細內容',
`img` varchar(500) default NULL COMMENT '片圖路徑和名稱(不含根路徑@up),逗號分隔包裹',
`user` varchar(10) default NULL COMMENT '聯繫人',
`tel` varchar(50) default NULL COMMENT '電話或手機',
`jishi` tinyint(2) default '1' COMMENT '即時通的類型',
`jishi1` varchar(50) default NULL COMMENT '即時通的號碼',
`hit` mediumint(9) default '0' COMMENT '點擊次數',
`ord` mediumint(9) default '0' COMMENT '排序值',
`tim` int(9) default '0' COMMENT '添加的時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8;
修改SQL语句为:
"Update `sele` set hit=hit + 1 where id='{$id}'"再试试看呢?
但是實際狀況並非如此,可能需要讀一下PHP的html解析部份才能知道答案了.