Php sqlsrv仅显示最近的行条目
我有一个SQL命令,用于显示所有用户和所有操作。 但实际情况是,它只显示用户最近的行条目,而不是所有条目 我的SQL是Php sqlsrv仅显示最近的行条目,php,sql,sql-server,Php,Sql,Sql Server,我有一个SQL命令,用于显示所有用户和所有操作。 但实际情况是,它只显示用户最近的行条目,而不是所有条目 我的SQL是 $stmt= " SELECT * FROM Actions FULL OUTER JOIN Users ON Actions.userID=Users.id; "; $query = sqlsrv_query($link,$stmt); $row = sqlsrv_fetch_array($query); 然后我将它输出到一个表中,作为 while($ro
$stmt=
"
SELECT *
FROM Actions
FULL OUTER JOIN Users
ON Actions.userID=Users.id;
";
$query = sqlsrv_query($link,$stmt);
$row = sqlsrv_fetch_array($query);
然后我将它输出到一个表中,作为
while($row = sqlsrv_fetch_array($query,SQLSRV_FETCH_ASSOC))
{
echo '<td>' . $row['id'] . '</td>';
...
}
--
实际:
ID | USER | ACTION | TIME
2 Bravo Pswd Change 00:00
1 Alpha Logged-out 00:01
这似乎是:
$query = sqlsrv_query($link,$stmt);
$row = sqlsrv_fetch_array($query);
第二行正在使用数组中的第一行。是吗
我猜这是缓冲区中的指针(不是PHP人员)。因此,while()循环从第2行开始。您的查询不会有您描述的行为。你能用样本数据以及期望的和实际的结果编辑你的问题吗?同意@GordonLinoff,你的SQL看起来是正确的。这将返回两个表中的所有行,在可能的情况下连接它们,在不可能连接的情况下保留null。如果每个用户只得到一行,我的第一个怀疑是代码中负责在前端显示结果的部分。如果直接在SQL中运行查询,会得到正确的结果吗?我已经添加了期望的/实际的结果。是的,如果我直接查询DB,我会得到正确的结果缺少某些内容,请添加表?这不是SQL Server的问题。如果直接在数据库上运行的查询为您提供了正确的结果,那么您在PHP处理/显示方面一定做得不对。
$query = sqlsrv_query($link,$stmt);
$row = sqlsrv_fetch_array($query);