我正在处理一些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