如何从SQL数据库[PHP]中提取某些内容的值?

时间:2018-01-06 10:03:43

标签: php mysql

我的数据库中有一个名为“Admin”的列,我希望能够检查其值(无论是1还是NULL)。如果是1,我希望它能做点什么。

如何编写查询并验证条目是否为1?

现在我只有以下设置

<?php
    include 'db_connect.php';

    if ($_SESSION['username'] == "admin")
    {
        echo '<a href="watWk8.php"> Admin Panel </a>';
        echo '';
    }
    else
    {
        echo "Please log in as admin (user: admin password: admin) to use the admin control panel";
    }
?>

这意味着如果用户名是admin,它将继续运行循环但我希望任何用户能够在注册时勾选一个框并具有管理权限。 (我知道这是破坏性的,但它仅适用于学校项目和概念证明)

谢谢!

编辑:

我尝试了以下

<?php 
include 'db_connect.php';
$query = "SELECT * from member WHERE Admin = '1'"; 
$result = mysqli_query($connection, $query); 
if ($_SESSION['username'] == "admin") 
{ 
    echo '<a href="watWk8.php"> Admin Panel </a>'; 
    echo '';
    echo $result; 
}
 else 
{ 
    echo "Please log in as admin (user: admin password: admin) to use the 
    admin control panel"; } ?>

尝试回复后出现以下错误 https://i.imgur.com/4cBzHog.png

3 个答案:

答案 0 :(得分:0)

你正在尝试这样的事情......

function admin_check( $email, $password ){
    $db = connect();
    if( $db ){
        $admin=1;
        $stmt = $db->prepare("SELECT * FROM users WHERE email = :email and password = :password and admin =:admin ");
        $stmt->bindParam(":email", $email);
        $stmt->bindParam(":password", $password);
        $stmt->bindParam(":admin", $admin);
        $stmt->execute();
        $row = $stmt->fetchAll();
        $resultCount = count($row);
        return $resultCount;
    }
}

答案 1 :(得分:0)

请以正确的方式连接并从DataBase获取数据阅读本手册:http://php.net/manual/en/pdo.connections.php

在大多数情况下,使用PDO over mysql或mysqli驱动程序会更有用。

答案 2 :(得分:0)

您只需要知道 mysqli_query(); 的返回类型,它返回 混合类型 变量意味着它可能是数组或二进制(True或False)有时取决于查询类型。以下结果可能输出为false表示错误或array表示数据返回,因此使用条件只需通过以下方式检查$ result:

if($result) // or if(count($result) > 0 && $result)

如果数据存在,则根据需要为每行数据使用循环,对于打印完成$result,您需要使用var_dump()printr()代替echo喜欢:

 var_dump($result);

有关mysqli_query()的详细信息,请点击以下链接: http://php.net/manual/en/function.mysql-query.php