我有一些PHP脚本,其中使用POST方法工作,而GET没有。
php文件#1(仅限相关部分):
echo "<form method='get' action=" . $_SERVER['PHP_SELF'] . ">
<input type='text' name='date' placeholder='yyyy-mm-dd'>
<input type='submit' name='submit'>
</form>";
if (!empty($_GET['submit'])) {
$date = $_GET['date'];
$sql = "select COUNT(cTriggerName) as Darab, cState as Status, right(cTriggerName,2) as DepotCode
from BNDOCEX2TLOG
where
StartTime > ? and
StartTime < dateadd(d,1,?)
group by right(cTriggerName,2) , cState";
$stmt = sqlsrv_query($conn, $sql, array($date, $date));
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
$_SESSION['result'] = $stmt;
}
php文件#2(仅限相关部分):
while ($row = sqlsrv_fetch_array($_SESSION['result'], SQLSRV_FETCH_ASSOC)){
echo "<tr>";
echo "<td>".$row['Darab']."</td><td>".$row['Status']."</td><td>".$row['DepotCode']."</td>";
echo "</tr>";
}
当我在表单中使用post
方法时,$_POST['submit']
和$_POST['date']
一切正常,但当我在表单中使用get
方法时$_GET['submit']
和$_GET['date']
我收到以下致命错误:
sqlsrv_fetch_array():9此处不是有效的ss_sqlsrv_stmt资源中心代码
我已使用$date
和var_dump()
检查print_r()
变量的值,并且在使用get或post时它们完全相同(例如2015-04-20 as一个字符串)。我无法想到为什么这对get不起作用。