在我的php文件中,我试图运行一个非常大的SQL语句,它接受begindate
和enddate
的参数 - SQL语句有8个CTE,其中4个接受参数。
我页面上onclick()
的事件触发JavaScript将变量传递给我的php文件。我的问题是应该保存变量的div
标记在结尾处是空的。
为了将我的结果成功返回到我的php页面,应如何更改? (在SSMS中手动运行时,查询将返回大约10列和大约500行)
HTML
begin: <input type="date" name="begin" id="begin" />
end: <input type="date" name="end" id="end" />
<div id="results"></div>
<input type="submit" value="click" id="btn" onclick="Query()" /></div>
的JavaScript
xhr.onreadystatechange = function()
{ if (xhr.readyState == 4 && xhr.status==200)
{ document.getElementById("results").innerHTML = xhr.responseText; } }
var begin = document.getElementById("begin").value;
var end = document.getElementById("end").value;
xhr.open("GET", "Help.php?begin="+begin+"&end="+end, true);
xhr.send();
我的php文件读起来像这样(至少在开头显示参数的传入位置)
$begin = $_GET['begin'];
$end = $_GET['end'];
我的语法设置错误,阻止数据返回?
修改
这是我的php文件的设置
<?php
$begin = $_GET['begin'];
$end = $_GET['end'];
$conn = mssql_connect('Server','username','pwd')
if ($conn===false)
{
echo '<p>Cannot connect to SQL Server Database. Please try again later.</p>';
exit;
}
if (mssql_select_db("DB",$conn) === false)
{
echo '<p>Cannot connect to DB. Please try again later.</p>';
exit;
}
$proc = mssql_init('ProcName',$conn);
mssql_bind($proc,'@begin',$begin,SQLVARCHAR);
mssql_bind($proc,'@end',$end,SQLVARCHAR);
if ($result = mssql_execute($proc))
{
$number_of_rows = mssql_num_rows($result);
if($number_of_rows > 0) {
echo "It Worked"
}
mssql_close($con);
}
?>