我正在尝试回显一个数组但由于某种原因我不断收到以下错误:
警告:sqlsrv_fetch_array()期望参数2为long,string 在第25行的login.php中给出
这是我的代码,请你告诉我我做错了什么!
if(isset($_POST['loginform'])){
$username = $_POST['login-username'];
$userpassword = $_POST['login-password'];
$sql = "SELECT *
FROM dbo.system_users
WHERE (user_name = '$username') AND (user_password = '$userpassword') AND (active = 1)";
$sql1 = "SELECT dbo.system_orgs.org_id, dbo.system_orgs.org_name
FROM dbo.system_orgs INNER JOIN
dbo.system_users ON dbo.system_orgs.org_id = dbo.system_users.user_orgid
WHERE user_name = '$username' AND user_password = '$userpassword')";
$stmt = sqlsrv_query( $conn, $sql );
$stmt1 = sqlsrv_query( $conn, $sql1 );
$count=sqlsrv_has_rows($stmt);
$org=sqlsrv_fetch_array($stmt1);
if($count==1){
$_SESSION['user']=$org;
echo $org['org_id'];
//header("location: index.php");
} else {
$loginresults = "
<div class='alert alert-danger' role=alert>
error
</div>";
}
}
?>
我目前只是为了测试目的而试图回显org_id,但我也会回应org_name。
答案 0 :(得分:1)
根据您的评论,您在查询中收到错误,请尝试按以下方式检查:
//...your code
$stmt1 = sqlsrv_query( $conn, $sql1 );
if( $stmt1 === false ) {
die( print_r( sqlsrv_errors(), true));
} else {
//...your code...
}
//...your code
有了这个,您应该获得有关查询失败原因的更多信息,并且您可能知道如何修复它。