2015-12-20 42 views
-6
$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_querysqlsrv_query,並沒有正常工作,我改變了mysql_num_rowssqlsrv_num_rows並沒有奏效任何人都可以幫助我,並告訴我如何寫他們嗎?如何將mysql功能轉化爲sqlsrv?

+0

什麼是'mysql_num_rows'。我猜這與Sql查詢無關。它應該工作正常 –

+1

歡迎來到SO。 請閱讀[我可以問哪些主題](http://stackoverflow.com/help/on-topic) 和[如何提出一個好問題](http://stackoverflow.com/help/how-to - 問) 和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) SO是**不是免費的編碼或免費轉換服務** – RiggsFolly

+0

@ VR46 sqlsrv_query()需要至少2個參數,它會爲sqlsrv_query – stephjhonny

回答

0

您缺少連接參數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);