我正在尝试基于使用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.'';
}
}
答案 0 :(得分:0)
没有错误,这很困难。 首先我会说
$m = date('m');
返回字符串而不是八进制。
而不是:
if($m == 02)
你应该这样做(见报价):
if($m == '02')
如果您需要更好的答案,请提供更多信息。