为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
UYOU 2021-10-08 14:35:13
我有这个带有查询的 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";

}


查看完整回答
反对 回复 2021-10-08
  • 1 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信