我正在构建一个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';
}
}
}