我对PHP相当陌生。

我想要的不是很多。我只想在进入数据库的页面上放置一个检查并检查值1或0。1表示“启用”,因此页面继续; 0表示“禁用”,页面死亡。

有人建议以下内容,但没有用

$sql = mysql_query("SELECT * FROM members WHERE access= '1'");
$user = mysql_query($sql);
echo $user;
if ($user !=="1") {
    echo "You are not the proper user type to view this page";
    die();
  }


非常感谢您的参与。

最佳答案

首先,您使用mysql_query()两次,仅此一次将导致语法错误。

您也不会遍历结果,因此请使用以下内容来实现所需的操作。

$sql = "SELECT * FROM members WHERE access= '1'";
$user = mysql_query($sql) or die(mysql_error());

    while($row = mysql_fetch_array($user)){

        if ($row['access'] !=="1") {
            echo "You are not the proper user type to view this page";
            die();
        }
        else {
                echo "You are the right type.";
            }

}


如果查询需要与查询的数据库连接,则需要执行以下操作:

$user = mysql_query($sql, $connection);


假设mysql_成功连接。但是,该API自PHP 5.5起已弃用,而PHP 7.0起已删除,请注意,不同的MySQL API不会相互混合。

现在是进入21世纪并使用MySQLi_或PDO API的时候了。


http://php.net/manual/en/book.mysqli.php
http://php.net/manual/en/book.pdo.php


您可能还必须选择一个或多个实际行而不是SELECT * FROM members

即:

SELECT column_1, column_2 FROM members


请参考以下链接http://php.net/manual/en/function.mysql-error.phphttp://php.net/manual/en/function.error-reporting.php
并将其应用于您的代码。



您也可以使用mysql_num_rows()实现此目的:

$result = mysql_query("SELECT * FROM members WHERE access= '1'");
$num_rows = mysql_num_rows($result);

if ($num_rows > 0) {
  // do something
}
else {
  // do something else
}


您可能还想添加到WHERE子句:

$result = mysql_query("SELECT * FROM members WHERE access= '1' AND column='x' ");

关于php - 从PHP检查MySQL中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37040197/

10-11 02:47
查看更多