Php sqlsrv_获取_数组不工作

Php sqlsrv_获取_数组不工作,php,sql-server,database,Php,Sql Server,Database,脚本在if循环中执行所有操作(sqlsrv_有_行),因此if循环不会回显成功。所以shud基本上意味着它找不到任何行。它下面的while循环没有回声,甚至连willer都没有。顺便说一句,当我回显resultmat时,它说的是类似于smtg的资源id8。因此,我猜测resultmat确实返回了一个值,因为我不再得到它为null的任何错误。 我检查了我的数据库很多次,我非常肯定有数据,它应该匹配和显示。我只是不明白为什么while循环不起作用。有什么想法吗?提前发送。呼出查询行,并通过MSMS或

脚本在if循环中执行所有操作(sqlsrv_有_行),因此if循环不会回显成功。所以shud基本上意味着它找不到任何行。它下面的while循环没有回声,甚至连willer都没有。顺便说一句,当我回显resultmat时,它说的是类似于smtg的资源id8。因此,我猜测resultmat确实返回了一个值,因为我不再得到它为null的任何错误。
我检查了我的数据库很多次,我非常肯定有数据,它应该匹配和显示。我只是不明白为什么while循环不起作用。有什么想法吗?提前发送。

呼出查询行,并通过MSMS或其他方式手动运行它们。另外,请注意,您很容易受到SQL注入攻击,并且作为一般规则:任何使用其他查询中的数据的查询通常可以/应该作为单个联接查询重新编写。$c=1;虽然($row=sqlsrv_fetch_array($resultmat,sqlsrv_fetch_array)){$variablename='loo_email'.$c;$$variablename=$resultloo_row['user_email'];$c++}上面的代码是我的解决方案。将值另存为$loo_email1、$loo_email2 n。。。。。他设法解决了这个问题。德克萨斯州
echo $email;

 $sql_int="SELECT item FROM Inventory WHERE user_email = '$email'";

$resultint = sqlsrv_query($conn,$sql_int);

$sql_loo="SELECT item FROM Looking WHERE user_email = '$email'";

$resultloo = sqlsrv_query($conn,$sql_loo);

 print_r( sqlsrv_errors());

while($row_int = sqlsrv_fetch_array($resultint))

    {
    echo $row_int['item'];
 print_r( sqlsrv_errors());

 }


while($row_loo = sqlsrv_fetch_array($resultloo))

{

echo $row_loo['item'];
 print_r( sqlsrv_errors());

 }



$sql="SELECT user_email FROM Inventory WHERE item = '$row_loo[item]'";

$resultmat = sqlsrv_query($conn,$sql);

*if(sqlsrv_has_rows($resultmat)){
 echo 'success';
 }

while($row = sqlsrv_fetch_array($resultmat)){
 echo $row['user_email'];
 echo 'willer';
 print_r( sqlsrv_errors());
 }*

?>