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

时间:2015-03-22 13:41:42

标签: php mysqli

简单,但我无法弄清楚什么是错的。 场景:我有一个名为固定的页面。项目笔已经过审核(点击)。底部示例代码是一个搜索功能,用于列出相关项目。

代码:

$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{}

2 个答案:

答案 0 :(得分:0)

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

没有item_id的定义。如果它是变量,那么通常以$开头。这可能导致PHP日志出错(您应该检查)。也许你的意思是它是一个字符串?

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

此外,该值是否等于文字字符串 '$id'?或者您的意思是使用变量 $id

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

答案 1 :(得分:0)

if语句

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

应替换为

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

或作为您的意图

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

如果$ id = 10,&#34; $ id&#34;将是&#34; 10&#34;但是&#39; $ id&#39;不会被改变。