PHP/SQL Server中的逻辑错误
我有一个逻辑错误,我一辈子都搞不清楚。问题是我写的这个非常基本的登录页面总是输出默认答案,而不是表中的选项 我试图将PHP/SQL Server中的逻辑错误,php,sql,sql-server,logic,Php,Sql,Sql Server,Logic,我有一个逻辑错误,我一辈子都搞不清楚。问题是我写的这个非常基本的登录页面总是输出默认答案,而不是表中的选项 我试图将E_Type中的值返回给php。在本例中,该值应返回A,但不是 我做错了什么 代码: 您需要先获取结果。在$res中,基本上只有一个可以迭代结果的结果句柄 用于获取结果并访问它们(这将在所有结果行上循环): 在您的情况下(如果您只需要一行),请使用以下命令: if($count == 1) { $row = mssql_fetch_assoc($res); if (
E_Type
中的值返回给php。在本例中,该值应返回A,但不是
我做错了什么
代码:
您需要先获取结果。在$res
中,基本上只有一个可以迭代结果的结果句柄
用于获取结果并访问它们(这将在所有结果行上循环):
在您的情况下(如果您只需要一行),请使用以下命令:
if($count == 1) {
$row = mssql_fetch_assoc($res);
if ($row['E_TYPE'] == "A" )
{
echo "Success 1";
}
else if ($row['E_TYPE'] == "B" )
{
echo "Success 2";
}
else {
echo "Error...";
}
}
mssql\u query
返回MS SQL结果集,若要获取返回值,必须首先从该结果集中获取行。请参阅和其他mssql_fetch函数您到底想做什么,在1行中解释此脚本的输出是什么?
<?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(1 == $count){
$row=mssql_fetch_assoc($res);//fetch row from database
switch($row['E_TYPE']) {
case "A":
echo "Success 1";
break;
case "B":
echo "Success 2";
break;
default:
echo "Error...";
break;
}
}
}
mssql_free_result($res);
?>
if($count == 1) {
$row = mssql_fetch_assoc($res);
if ($row['E_TYPE'] == "A" )
{
echo "Success 1";
}
else if ($row['E_TYPE'] == "B" )
{
echo "Success 2";
}
else {
echo "Error...";
}
}
<?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(1 == $count){
$row=mssql_fetch_assoc($res);//fetch row from database
switch($row['E_TYPE']) {
case "A":
echo "Success 1";
break;
case "B":
echo "Success 2";
break;
default:
echo "Error...";
break;
}
}
}
mssql_free_result($res);
?>