我有这个带有查询的 PHP 页面,在登录页面上我需要输入用户名和密码,查询将检查用户名他的类型和楼层,我不确定问题出在哪里,但如果用户是“manager”且他的楼层不是4,返回“One return”,如果用户不是manager,他的楼层是4,则返回“another return”,但如果用户不是“manager”,他的楼层不是4 ,它返回“一次返回”。我真的无法理解如何解决这个问题。我需要:如果用户不是经理并且他的楼层是 4 - 返回“一次返回”,如果用户是经理它必须返回“另一个返回”,但是如果用户不是经理并且他的楼层不是 4,则什么都不返回。我感谢任何帮助<?php error_reporting(E_ALL);ini_set('display_errors', 'On');session_start();include 'init.php';$user = $_SESSION['user'];$stid = oci_parse($conn, "select * from users where username = '$user' and user_type != 'manager' and floor = 4");oci_execute($stid);if (($user = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) == false){ echo "One return";}else{ echo "another return";}?><html><head> <title> Main Page</title></head><body></body></html>
1 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
从查询中取出检查,并在 PHP 代码中进行检查,这样您就可以检查不同的组合。如果您只是检查查询是否返回了某些内容,那么只有两种可能性。
$stid = oci_parse($conn, "select user_type, floor from users where username = '$user'");
oci_execute($stid);
$user = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
if (!$user) {
echo "User not found";
} elseif ($user['user_type'] != 'manager' && $user['floor'] == 4) {
echo "one return";
} elseif ($user['user_type'] == 'manager') {
echo "another return";
}
- 1 回答
- 0 关注
- 123 浏览
添加回答
举报
0/150
提交
取消