唉。我花了几个小时寻找解决方案,所以它可能很简单。我在SQL Server(2008)中有一个存储过程,我试图从PHP代码调用。我正在使用ODBC,如果我使用硬编码的SQL语句,一切都有效。
但是我试图调用一个存储过程来返回一组行(光标,数据集等),并传递两个参数。当我通过浏览器运行代码时,我只得到500 http错误。它是对odbc_execute()行的轰炸。这是我的代码:
// DSN-less connection:
$conn = odbc_connect("Driver={SQL Server};Server=$server;Database=$database;", '', '');
if (!$conn)
{exit("Connection Failed: " . $conn);}
$fromDate = new DateTime('2012-1-1');
$toDate = new DateTime('2013-12-31');
$sql = odbc_prepare($conn, "{call GET_EVENTS_BY_DATE_RANGE(?, ?)}");
$params = array($fromDate, $toDate);
$result = odbc_execute($sql, $params);
if ( $result === false)
{
exit("Query failed");
}
odbc_close($conn);
同样,在遇到odbc_execute()函数之前没有问题。任何帮助表示赞赏。