猿问

php中的sql查询没有返回需要的东西

我有这个带有查询的 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>


UYOU
浏览 127回答 1
1回答

素胚勾勒不出你

从查询中取出检查,并在 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) {&nbsp; &nbsp; echo "User not found";} elseif ($user['user_type'] != 'manager' && $user['floor'] == 4) {&nbsp; &nbsp; echo "one return";} elseif ($user['user_type'] == 'manager') {&nbsp; &nbsp; echo "another return";}
随时随地看视频慕课网APP
我要回答