逻辑PHP / SQL Server错误
||
我有一个逻辑错误,我一生都无法弄清楚。问题是我写的这个非常基本的登录页面始终输出默认答案,而不是从表中进行选择。
我试图将
E_Type
中的值返回给php,在这种情况下,该值应返回A,但事实并非如此。
我究竟做错了什么?
码:
<?php
$server = -Removed;
$login = -Removed;
$pass = -Removed;
$login = $_POST[\'login\'];
$password = $_POST[\'password\'];
$table = \'USERPASS\';
$table2 = \'EMPLOYEES\';
$res = \'q\';
$dblink = @mssql_connect(-Removed) or die(\"Error 1\");
mssql_select_db(\'group5\', $dblink) or die( \"unable to select the database\");
$sqlquery = \"SELECT E_TYPE FROM USERPASS U, EMPLOYEES E WHERE U.EMPLOYEE_ID = E.EMPLOYEE_ID AND PASSWORD = \'$password\' AND USERNAME = \'$login\'\";
$res = mssql_query($sqlquery, $dblink) or die(\"Error5\");
$count = mssql_num_rows($res);
if($count==1)
{
if ($res == \"A\" )
{
echo \"Success 1\";
}
else if ($res == \"B\" )
{
echo \"Success 2\";
}
else
{
echo \"Error...\";
}
}
?>
没有找到相关结果
已邀请:
3 个回复
才脊烽馈低
中,您基本上只具有可以迭代结果的结果句柄。 使用
提取结果并访问它们(这将在所有结果行上循环):
对于您的情况(如果只希望一行),请使用以下命令:
览幕堤分
返回MS SQL结果集,要获取返回值,必须首先从此结果集中获取行。参见http://www.php.net/manual/en/function.mssql-fetch-assoc.php和其他mssql_fetch函数
恋卡
您应该了解select ... case语句。 我唯一能看到的就是你的角色。数据库可能区分大小写,也可能不区分大小写。 您还缺少某些有时会影响结果的内容:mysql_free_result()。 您通常应该对获取行而不是if进行一会儿陈述,因为可能会有多于1行。 我通常将常量放在比较运算符的前面,并将变量放在可能的右边,这是有道理的,因为如果在任何情况下由于缺少=而使编译器成为赋值,编译器都会捕获该错误。