我对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.php和http://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/