如果.而如果.循环奇怪的问题


if..while.. if .. loop strange issue

很简单,但我不知道出了什么问题。场景:我有一个名为stationary的页面。并且项目笔已被审阅(单击)。底部示例代码是一个搜索功能,用于列出相关项目。

代码:

$id = $_GET['id']; 
/* Code to display item*/
$query = "SELECT * FROM table1 WHERE table1_category = 'red'";
$result = mysqli_query($dbc,$query);
if(mysqli_num_rows($result) < 2){
echo "No other red pen available.";
}else{
     while($data = mysqli_fetch_assoc($result)){
        if($data['item_id'] == '$id'){
           echo "";
        }else{
           echo $data['item_name']."<br>";
        }
    }
}

我的错误:调试时表中的ID显示不正确。内部if语句似乎有问题。

还是在那里!?

已修复/已解决:

if($data['item_id'] == $id){
........
}else{}
if($data[item_id] == '$id'){

item_id没有定义。如果它是一个变量,通常以$开头。这可能会导致PHP日志中出现错误(您应该真正检查一下)。也许你是想让它成为一根绳子?

if($data['item_id'] == '$id'){

此外,该值是否会等于文本字符串'$id'?还是您打算使用变量$id

if($data['item_id'] == $id){

if语句

if($data['item_id'] == '$id')

应该用代替

if($data['item_id'] == $id)

或者作为您的意图

if($data['item_id'] == "$id")

如果$id=10,"$id"将是"10",但"$id’不会被转换。