我正在處理一些PHP的東西,我試圖用sqlsrv_fetch_array()返回一組結果。但我注意到,如果查詢在管理工作室中返回x結果,則返回(x-1)實際PHP查詢結果。sqlsrv_fetch_array返回1比行數少
當我正在尋找一件東西時,這會成爲一個真正的問題,它不會返回任何東西。
的代碼如下:
function sqe($colname, $aq = NULL, $init = NULL)
{
global $connection;
$q = "SELECT TOP 2 * FROM tblname WHERE colname='" . $colName . "' ORDER BY colname DESC";
$statement = sqlsrv_query($connection, $q);
if (sqlsrv_fetch_array($statement) === false) {
echo "Error fetching...";
die(print_r(sqlsrv_errors(), true));
} else {
$source = "";
echo $q;
while ($row = sqlsrv_fetch_array($statement, SQLSRV_FETCH_ASSOC)){
$source .= "<li><img src='data:image/png;base64," . $row['rowname'] . "' /></li>";
}
echo ($source);
sqlsrv_free_stmt($statement);
die();
}
}
我相信麻煩的是與while循環,但我不知道什麼實際使其返回1比它應該少。
任何想法?
你介意[編輯](http://stackoverflow.com/posts/42300406/edit)你的問題顯示整個方法?從迄今爲止所做的,它應該工作。 –
如果查詢結果相同,則結果不同(除非數據已更改)。也許你正在處理一些索引/數組「問題」(在PHP數組索引從0開始) –
@ChrisForrence - 編輯它以完全反映發生了什麼。試着查看另一條評論關於索引的建議。 – Rich