我正在构建一个APP,并根据id创建一些网址。
例如,编辑项链接会打开这种网址:http://www.update_item.php?uid = 1
如果我使用不是由我创建的项ID更改url中的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 code
if ($_SESSION['FBID'] == $item['user_id']) {
....
其中$_SESSION['FBID'
]是使用facebook用户登录的,$item['user_id']
是创建列表的用户的ID。
答案 0 :(得分:2)
检查查询结果,如果结果为空,则显示消息
$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 code
if ($_SESSION['FBID'] == $item['user_id']) {
.................
答案 1 :(得分:1)
使用
if($query->rowCount() < 1)
或者使用
$l_title = "SELECT count(id) as num FROM list_items WHERE `id`='$list_id'" ;
并检查
if($list->num < 1)
答案 2 :(得分:0)
您可以创建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';
}
}
}