为什么这个代码不能在PHP 7.0中运行

时间:2016-02-26 21:51:36

标签: php odbc mamp iis-8

我正在尝试基于使用PHP从用户计算机直接提取的几个月和日期值来创建SQL查询。

我的问题是,我的代码在我的测试服务器(wampp)上工作,但在生产服务器(IIS8)上挂起。

基本上,我有一些If,then语句将变量与其他变量进行比较,如果满足条件,它们会利用另一个特定变量来创建SQL语句。

我有其他odbc / php函数在同一个站点上正常工作,但是这个代码和另一个挂起服务器的类似函数。

感谢任何帮助。

function tmlySales() { // last year, this month sales   

      include('odbc_connect.php');

      $salesPersonID = $_SESSION['SESS_SAP_ID'];

      $conn=odbc_connect($server,$user,$pass);          

      $m = date('m');

      if($m == 01) {

          $month = 'SSSA10';

          $year = date('Y', strtotime('-1 year'));

      }

      if($m == 02) {

          $month = 'SSSA11';

          $year = date('Y', strtotime('-1 year'));
      }

      if($m == 03) {

          $month = 'SSSA12';

          $year = date('Y', strtotime('-1 year'));

      }

      if($m == 04) {

          $month = 'SSSA01';

          $year = date('Y');

      }

      if($m == 05) {

          $month = 'SSSA02';

          $year = date('Y');

      }

      if($m == 06) {

          $month = 'SSSA03';

          $year = date('Y');

      }

      if($m == 07) {

          $month = 'SSSA04';

          $year = date('Y');

      }

      if($m == 08) {

          $month = 'SSSA05';

          $year = date('Y');

      }

      if($m == 09) {

          $month = 'SSSA06';

          $year = date('Y');

      }

      if($m == 10) {

          $month = 'SSSA07';

          $year = date('Y');

      }

      if($m == 11) {

          $month = 'SSSA08';

          $year = date('Y');

      }

      if($m == 12) {

          $month = 'SSSA09';

          $year = date('Y');

      }

      $sql = "SELECT ".$month." FROM REPSA WHERE SSRP#1=".$salesPersonID." and SSYEAR =".$year."";

      $result = odbc_exec($conn,$sql);

      while($row = odbc_fetch_array($result)) {

          $tmlySales = $row[$month];

          $currency = number_format($tmlySales,2);

          echo '$ '.$currency.'';

     }
}

1 个答案:

答案 0 :(得分:0)

没有错误,这很困难。 首先我会说

$m = date('m');

返回字符串而不是八进制。

而不是:

if($m == 02)

你应该这样做(见报价):

  if($m == '02')

如果您需要更好的答案,请提供更多信息。

相关问题