查询通过PHP

时间:2015-06-10 03:37:08

标签: php sqlsrv

我在使用PHP运行SQL查询时遇到问题。这是我的代码

$username = $_POST['username'];

$SQLString = "SELECT COUNT(*) FROM dbo.Users WHERE Username = '$username'";
$result = sqlsrv_query($conn, $SQLString) or die (print_r(sqlsrv_errors(), true));
$userExists = sqlsrv_fetch_object( $result );

echo("test");
echo($userExists);
echo("test2");

返回testtest2,$ userExists没有。这似乎在昨晚工作,除了打印出sqlsrv错误之外我没有改变任何东西,但那些不会返回任何内容。

$result返回Resource id #3,我可以稍后在代码中运行插入。

任何人都可以看到为什么$userExists根本没有返回任何内容?我认为它至少必须返回0(如果用户不存在)。

修改

因此尝试使用chris85推荐的预准备语句,并再次吐出完全相同的内容。 $stmt返回Resource ID #2,$ userExists绝对没有返回任何内容。没有失败,没有错误。

$SQLString = "SELECT COUNT(*) FROM dbo.Users WHERE Username = '$username'";
$stmt = sqlsrv_prepare( $conn, $SQLString, array( &$qty, &$id));
$userExists = sqlsrv_fetch_object( $stmt);
if( !$stmt ) {
    die( print_r( sqlsrv_errors(), true));
}

echo("test");
print_r($stmt);
print_r($userExists);   
echo("test2");

0 个答案:

没有答案