if..while..if..循环奇怪的问题

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>";
        }
    }
}

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

还是有!?

Fixed/Solved:

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”。