Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果行==1,则显示内容如果行==0,则不显示内容_Php_Mysql - Fatal编程技术网

Php 如果行==1,则显示内容如果行==0,则不显示内容

Php 如果行==1,则显示内容如果行==0,则不显示内容,php,mysql,Php,Mysql,因此,我有一个登录脚本,它根据登录用户的用户名创建一个$\u会话。在另一个页面上,如果该用户的行中有1,我希望显示内容。如果该行中有0,则不显示内容。我在这里遇到问题,无论我尝试了什么,无论与我登录的用户是谁,它都不会显示YES test1=1 test2=0 <? require_once 'dbinfo.php'; $sess = $_SESSION['authuser']; $link = mysqli_connect($servername, $username, $p

因此,我有一个登录脚本,它根据登录用户的用户名创建一个$\u会话。在另一个页面上,如果该用户的行中有1,我希望显示内容。如果该行中有0,则不显示内容。我在这里遇到问题,无论我尝试了什么,无论与我登录的用户是谁,它都不会显示YES

test1=1
test2=0

<?
require_once 'dbinfo.php';

$sess = $_SESSION['authuser'];

    $link = mysqli_connect($servername, $username, $password);
    if (!$link) {
    die('Could not connect: ' . mysqli_error($link));
    }
    mysqli_select_db($link, $database) or trigger_error(mysqli_error($link));
    $acc = "SELECT username FROM admins WHERE username = '$sess'";
    $result = mysqli_query($link, $acc) or trigger_error(mysqli_error($link));
    ob_start();
    while($row = $result->fetch_assoc())
    {
     if($row['access'] == 1)
     {
      echo 'YES';
     }
     elseif ($row['access'] == 0)
     {
        echo 'NO';
     }
    }
    ob_end_flush()
?>
写入访问权限(列),并在返回变量中得到0时尝试使用isset()函数和运算符===。

必须写入

 session_start();
在所有要使用
$\u会话的文件中

您的select查询将只输出用户名列,因为您只选择了这一列,请使用

SELECT * FROM admins WHERE username = '$sess'

相反

您绝对应该学习准备好的语句,因为您的实际查询非常容易接受sql注入。

准备好的语句示例()


您应该做的第一件事是开始使用参数化查询。按照您现在的查询方式,没有正确地转义内容。接下来,
var\u dump($result)在您的查询之后,看看您得到了什么。接下来,
var\u转储($\u会话)
。您是否正在某处开始会话?
选择访问…
您没有获取
access
列哦,天哪。我现在觉得自己很笨。谢谢同学们,我错过了。我经历了几个不同的编码迭代,肯定错过了。
SELECT username, access FROM admins WHERE username = '$sess'
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    $stmt->bind_param("s", $city);

    $stmt->execute();

    $stmt->bind_result($district);

    $stmt->fetch();

    $stmt->close();
}

    $mysqli->close();