我正在使用PHP版本5.4.45,我的网站和Microsoft Azure上托管的SQL Server数据库。
此刻我只有两张桌子:
我在SSMS上插入数据仅用于测试。
在我的网站上,我运行一个查询给我一个注册用户列表,它返回所有相关信息(2行)。
当我运行查询以返回登录的用户列表时,会抛出500内部服务器错误。
当我的第一个"回声"是ID或userID,它返回一个值,仅此而已。
当我的第一个"回声"是登录(日期时间),它不显示任何内容,下一个" echo"在代码中也是如此。
有了这个,我得出结论是登录栏上的错误。
我已经读过“bog”查询'可以做这个错误(我的每个用户ID只有30行,我的2个用户只有60行)但是,对于测试,我将查询限制为仅5条记录。
我此时尝试的查询适用于SSMS。
我无法访问PHP错误日志文件。
<?php
$userID = 1;
$uid = "xxx";
$pwd = "xxx";
$serverName = "xxx";
$connectionInfo = array( "Database"=>"Development", "UID"=>$uid, "PWD"=>$pwd);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
// echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT * FROM dbo.userLogin WHERE userID=1 AND ID BETWEEN 5 AND 10 ORDER BY ID ASC ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
while($sql = sqlsrv_fetch_array($stmt)) {
$id = $sql["ID"];
$login = $sql["login"];
$num_row = count($login);
for ($i = 0; $i < $num_row; $i++) {
echo "
<p>$id</p>
<p>$login</p>
<p>$userID</p>
";
}
}
?>
查询在SSMS中工作
TIA!
答案 0 :(得分:1)
试试这个$sql = "SELECT ID, userID, CONVERT(nvarchar(50),[Login],120) as [Login] FROM dbo.userLogin WHERE userID=1 AND ID BETWEEN 5 AND 10 ORDER BY ID ASC ";