我正在尝试使用SQLSVR函数从查询中返回true或false, 我正在使用ODBC_connect和ODBC_results。
这是我原来的剧本:
function user_exists($username)
{
$result = odbc_exec (odbc_connect("book", "", ""), "select count ('user_id') FROM [User] WHERE username = '$username'");
return (odbc_result($result, 1) ? true : false);
}
但是尝试使用SQLSVR函数我不知道该去哪里。这就是我到目前为止所做的。
function user_exists($conn, $username) {
$sql =("select count ('user_id') FROM [User] WHERE username = '$username'");
$stmt = sqlsrv_query( $conn, $sql);
$name = sqlsrv_get_field( $stmt, 0);
If ($name = 1) {
Return True;
}
else{
Return False;
}
}
答案 0 :(得分:0)
您需要将$conn
传递给user_exists()
,否则它将无法在函数体中显示。
function user_exists($conn, $username) {
...
而且,你需要在某处调用user_exists(...)
以使其全部工作。放置函数方法并不等同于调用它。
修改强>
此代码是多余的:
$test = sqlsrv_has_rows($result);
return (($test == true) ? true : false);
只需:
即可return sqlsrv_has_rows($result);