我正在尝试使用 PHP 对 SQL 数据库进行非常简单的查询,但无论我做什么,似乎都无法获得任何正确的结果。以下是我编写的代码:
$loDate = '2013-10-01';
$hiDate = '2015-01-01';
$queryStr = "select TimeCol from dbo.SUBPUMP where TimeCol between " . $loDate . " and " . $hiDate;
$conn = sqlsrv_connect($serverName, $conInfo);
$result = sqlsrv_query($conn, $queryStr);
while ($row = sqlsrv_fetch_array($result)) {
// This never prints.
echo "row:<br>"; var_dump($row); echo "<br><br>";
}
echo "<br><br><br>";
// Prints "conInfo: resource(2) of type (SQL Server Connection)"
echo "conn: "; var_dump($conn); echo "<br><br>";
// Prints "result: resource(3) of type (SQL Server Statement)"
echo "result: "; var_dump($result); echo "<br><br>";
// Prints "row: NULL"
echo "row: "; var_dump($row); echo "<br><br>";
我感到困惑的是它如何建立与数据库的正确连接。
因为$conn
并且$result
不打印任何错误,但似乎并没有真正为我获取任何数据。
到目前为止,我最好的猜测是,由于我试图通过 VPN 从数据库中获取数据,因此可能只有一个脆弱的连接,所以我sqlsrv_connect()
会尝试多次尝试连接到数据库,直到它收到一个良好的连接。虽然sqlsrv_query()
只会尝试一次,因此无法收集任何数据。
还有其他人对这里可能出了什么问题有任何想法吗?