【发布时间】:2015-02-13 17:34:39
【问题描述】:
我有这个 PHP 代码,它使用 PHP 会话创建的一些变量将一些查询值写入 Excel 电子表格。
<?php
session_start();
error_reporting(0);
require_once("config.php");
require_once('new_stuff/php-excel/Classes/PHPExcel.php');
$link = mysql_connect($dbserver,$dbuser,$dbpass)
or die('Could not connect: ' . mysql_error());
$sdate = $_SESSION['startdate'];
$edate = $_SESSION['enddate'];
//$sdate = $_POST['startdate'];
list($smonth, $sday, $syear) = split('[/.-]', $sdate);
//$edate = $_POST['enddate'];
list($emonth, $eday, $eyear) = split('[/.-]', $edate);
mysql_select_db($dbname) or die('Could not select database');
// Performing SQL query
$query =
'SELECT
mantis_category_table.name,
mantis_bug_history_table.bug_id,
FROM_UNIXTIME(mantis_bug_table.date_submitted, "%m-%d-%Y") AS DATE2,
FROM_UNIXTIME(min(mantis_bug_history_table.date_modified), "%m-%d-%Y") AS FirstOfdate_modified,
ROUND((min(mantis_bug_history_table.date_modified)- mantis_bug_table.date_submitted)/ 86400, 1) as day_difference
FROM (mantis_bug_table INNER JOIN mantis_bug_history_table
ON
mantis_bug_table.id = mantis_bug_history_table.bug_id)
INNER JOIN
mantis_category_table ON mantis_bug_table.category_id = mantis_category_table.id
WHERE
FROM_UNIXTIME(mantis_bug_table.date_submitted, "%Y-%m-%d")
BETWEEN DATE("'.$syear.'-'.$smonth.'-'.$sday.'") AND DATE("'.$eyear.'-'.$emonth.'-'.$eday.'")
GROUP BY
mantis_category_table.name, mantis_bug_table.category_id, mantis_bug_table.date_submitted, mantis_bug_table.status, mantis_bug_history_table.bug_id, mantis_bug_history_table.field_name, mantis_bug_history_table.new_value
HAVING
(((mantis_bug_table.status)<>90) AND ((mantis_bug_history_table.field_name)="status") AND ((mantis_bug_history_table.new_value)="50"))
ORDER BY
mantis_category_table.name, FROM_UNIXTIME(mantis_bug_table.date_submitted, "%m")';
echo $query;
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
当我回显查询时,我看到 startdate 没有被传递到页面,即使它的写法与 enddate 完全相同,它正在显示。
有人能指出我的会话变量收集技术中的缺陷吗?
【问题讨论】:
-
你是否在会话中设置了开始日期
-
@OliSoproniB - 我以为我在第 12 行?
-
$sdate = $_SESSION['startdate'];如果 $_SESSION['startdate'] 为空,则没有任何意义,它也会将 $sdate 显示为空。在 $_SESSION['startdate'] 中设置值的代码在哪里