// 短信息
$SMSNumSQL       = "SELECT COUNT(*) AS Num FROM ".TABLE_MESSAGE." WHERE message_send_to='$_SESSION[sessLoginName]'";
    $newSMSNumSQL    = "SELECT COUNT(*) AS Num FROM ".TABLE_MESSAGE." WHERE message_send_to='$_SESSION[sessLoginName]' and message_stat='Y'";
$SMSNum          = $DB->result($DB->query($SMSNumSQL),0);
$newSMSNum       = $DB->result($DB->query($newSMSNumSQL),0);
就这两个合成一个???谁有办法?????

解决方案 »

  1.   

    "SELECT COUNT(*) AS Num FROM ".TABLE_MESSAGE." WHERE message_send_to='$_SESSION[sessLoginName]' order by message_stat";这样将返回两条记录(假定message_stat只有两种状态)
    一条是message_stat='N'的数量
    一条是message_stat='Y'的数量
    两者之和为总数如果数据库支持条件控制,比如mysql可写作
    "SELECT COUNT(*) AS Num, SUB(if(message_stat='Y',1,0) AS num1  FROM ".TABLE_MESSAGE." WHERE message_send_to='$_SESSION[sessLoginName]'"
      

  2.   

    写错了函数名
    SUB ===> SUM
      

  3.   

    $SMSNumSQL       = "SELECT COUNT(*) AS Num, SUM(if(message_stat='Y',1,0) AS newNum  FROM ".TABLE_MESSAGE." WHERE message_send_to='$_SESSION[sessLoginName]'";系统提示: MySQL Query 错误时间: 2004-3-31 2:51am语句: SELECT COUNT(*) AS Num, SUM(if(message_stat='Y',1,0) AS newNum FROM message WHERE message_send_to='teacher'错误: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS newNum FROM message WHERE message_send_to='teacher'' at lin
      

  4.   

    SELECT COUNT(*) AS Num, SUM(if(message_stat='Y',1,0) AS newNum FROM message WHERE message_send_to='teacher'
      

  5.   

    SUM(if(message_stat='Y',1,0) 
    ===>
    SUM(if(message_stat='Y',1,0))少了个闭括号,你也没看出来吗?