2014-11-02 92 views
0

我想知道是否有人可以在这里帮助我。使用BINARY从MYSQL到SQLSRV的密码大小写敏感

基本上,我试图让我的登录脚本区分大小写,特别是在输入密码时。

我成功地在PHP MYSQL使用下面的代码完美地工作,使用二进制:

$qry="SELECT * FROM studentrecords WHERE username='$login' AND password=**BINARY**'".($_POST['password'])."'"; 

我在PHP中使用SQLSRV它尝试过,但它不工作。

任何人都可以告诉我一种替代方法或如何使它在PHP SQLSRV中工作?

在此先感谢,我会很感激。

回答

0

您的SQL Server数据库的默认搜索选项可能不区分大小写。您可以轻松地通过使用COLLATE更改此设置为您查询象下面这样:

$qry="SELECT * FROM studentrecords WHERE username='$login' AND password COLLATE Latin1_General_CS_AS ='".($_POST['password'])."'"; 

你应该看看参数化查询,以避免SQL注入的使用。微软的官方SQLSRV Driver API Reference有很好的例子。

Much more information about COLLATE