mysql中的整数总是返回0

时间:2012-07-27 02:13:15

标签: php mysql

我有一些代码从mysql db中提取数据一切都很好,日期,变量等等。我遇到的问题是每次都返回0的唯一整数。

while($row = mysqli_fetch_array($result)) {
$fufilled = "1";
$flag = $row['flag'];
$shopnumb = $row['Shopnumb'];
$shoptype = $row['Shop_type'];
...

$shoptype$shopnumb都返回正确的内容,但$ flag每次都返回0,即使数据库的5行有1,1,1,1,0

CREATE TABLE `Shop_data` (
 `Shopnumb` int(15) NOT NULL AUTO_INCREMENT COMMENT 'shop id number',
 `flag` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1=unread 0=read',
 `CID` int(15) NOT NULL COMMENT 'Client this shop belongs to',
 `SID` varchar(50) DEFAULT NULL COMMENT 'identifys which survey to use',
 `comp_date` date DEFAULT NULL COMMENT 'Completion Date',
 `sched_date` date DEFAULT NULL COMMENT 'Scheduled shop date',
 `shop_comp` smallint(1) NOT NULL DEFAULT '0' COMMENT 'shopper submitted report',
 `edit_comp` smallint(1) NOT NULL DEFAULT '0' COMMENT 'Report has been edited',
 `return_shop` smallint(1) NOT NULL DEFAULT '0' COMMENT 'return report to shopper for editing',
 `report_comp` smallint(1) NOT NULL DEFAULT '0' COMMENT 'report ready for client',
 `Shop_type` varchar(50) DEFAULT NULL,
 `Shoploc` varchar(100) DEFAULT NULL,
 `shop_cost` decimal(10,2) DEFAULT NULL COMMENT 'Normal or adjusted cost of shop',
 `shop_reimb` decimal(10,2) DEFAULT NULL COMMENT 'Shopper reimburstment cost',
 `shop_pay` decimal(10,2) DEFAULT NULL COMMENT 'Total cost',
 `shopper_assign` varchar(200) DEFAULT NULL COMMENT 'Identifys which shopper assigned',
 PRIMARY KEY (`Shopnumb`),
 UNIQUE KEY `Shopnumb` (`Shopnumb`)
) ENGINE=MyISAM AUTO_INCREMENT=2252 DEFAULT CHARSET=latin1

我的查询

SELECT * FROM Shop_data WHERE CID='".$_SESSION['CID']."' AND report_comp='1' AND DATEDIFF(CURDATE(), comp_date) <".$lengthoftime." ORDER BY comp_date DESC;
像我说的那样,除了国旗

之外,一切都很好

if statement

        if ($flag = '0') {
            echo "<td align=\"center\">&nbsp;&nbsp;&nbsp;&nbsp;</td>";
        } else {
            echo "<td align=\"center\">&nbsp;&nbsp;<img align=\"middle\" src=\"/images/flag.png\">&nbsp;&nbsp;</td>";
        }

固定                 if($ flag =='0'){

1 个答案:

答案 0 :(得分:0)

声明

if ($flag = '0') {

是赋值,并且总是为TRUE(它计算为赋值的值,即字符串)。你需要:

if( ! intval($flag)) {