如果列不存在,则显示一条消息


Display a message if column doesn't exist?

我正在构建一个APP,它基于id创建了一些url。

例如edit item链接打开了这样的url website.com/update_item.php?uid=1

如果我用一个不是我创建的项目id更改url中的id,并且我没有权限编辑它,它将显示以下消息:"您无权编辑此条目!"

问题是,如何将相同的消息显示给数据库中不存在的id ?我如何检查id是否在数据库中注册?

目前,如果我输入一个不存在的id,它会显示一个空白页。

代码

$list_id = $_GET["uid"];
$l_title = "SELECT * FROM list_items WHERE `id`='$list_id'" ;
$query = $pdo->prepare($l_title);
$query->execute();
$list = $query ->fetchAll();

if代码

if ($_SESSION['FBID'] == $item['user_id']) { 
....

其中$_SESSION['FBID']为已登录的facebook用户,$item['user_id']为创建列表的用户id

检查查询结果,如果结果为空,则显示消息

$list_id = $_GET["uid"];
$l_title = "SELECT * FROM list_items WHERE `id`='$list_id'" ;
$query = $pdo->prepare($l_title);
$query->execute();
$list = $query ->fetchAll();
if(!$list || empty($list)){
   echo "Your message";
}

if代码

if ($_SESSION['FBID'] == $item['user_id']) { 
.................

use

 if($query->rowCount() < 1)

或者使用

$l_title = "SELECT count(id) as num FROM list_items WHERE `id`='$list_id'" ;

检查

if($list->num < 1) 

您可以创建2个查询并使用if语句和while循环来验证信息,如下所示…

$query = $mysqli->query("SELECT * FROM TABLENAME WHERE ID='yourid'");
if(mysql_num_rows($query) < 1){
    echo "error";
} else {
    $query = "SELECT * FROM TABLENAME WHERE ID='yourid'";
    if($result = $mysqli->query($query)){
    } else {
        echo "could not connect to db";
    }

然后像这样循环遍历结果

    while($result_ar = mysql_fetch_assoc($result)){
        $user = $result_ar['userinfo'];
        if($user != 'user info'){
            echo "error";
        } else {
            'do something else';
        }
    }
}