【问题标题】:How to convert mysql function into sqlsrv? [closed]如何将mysql函数转换为sqlsrv? [关闭]
【发布时间】:2016-03-26 18:29:54
【问题描述】:
$query = sqlsrv_query("select * from sessions where password='$password' AND username='$username'");
$rows = sqlsrv_num_rows($query);
if ($rows == 1) {
    $_SESSION['login_user']=$username; 
    header("location: profile.php"); 
} else {
    $error = "Username or Password is invalid";
}

嗨,我有这段代码,但它是用 mysql 编写的,我希望它在 sqlserver 中工作,所以我将 mysql_query 更改为 sqlsrv_query,但它无法正常工作,我将 mysql_num_rows 更改为 sqlsrv_num_rows它也不起作用,所以任何人都可以帮助我并告诉我如何写它们吗?

【问题讨论】:

  • 什么是mysql_num_rows。我想这与 Sql 查询无关。它应该可以正常工作
  • 欢迎来到 SO。请阅读What topics can I ask aboutHow to ask a good questionthe perfect question SO 不是免费编码或免费转换服务
  • @VR46 sqlsrv_query() 至少需要 2 个参数,它给了我这个 sqlsrv_query 的错误
  • @VR46 和 sqlsrv_num_rows 检索结果集中的行数
  • 请分享你试过的sqlsrv代码。

标签: php mysql sql-server


【解决方案1】:

您缺少sqlsrv_query 的连接参数。在此过程中,您不妨使用绑定变量而不是字符串替换来帮助防范 SQL 注入攻击。

$serverName = "serverName\instancename";
$connectionInfo = 
    array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);

$params = array($username, $password);
$stmt = sqlsrv_query
            ($conn, 
            'select * from sessions where password=? AND  username=?', 
            $params);

【讨论】:

    猜你喜欢
    • 2011-08-12
    • 2020-08-26
    • 2020-03-27
    • 1970-01-01
    • 2011-04-22
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多