PHP错误或逻辑错误?

PHP错误或逻辑错误?

问题描述:

所以这是我的问题。我有2张桌子。一个用于产品细节,另一个用于产品数量。PHP错误或逻辑错误?

在产品详细信息中有一个字段状态应该可用或不可用。然后在产品数量表中有一个qleleft,表示产品可用的数量。现在的问题是我把数量放在4个产品上,意味着没有剩下的数量,它应该回显“项目缺货”。它的工作原理,但只有一个项目。我无法弄清楚,因为我分析了一切,我认为没有问题。这是一个错误还是什么?

这里是我的代码:

<?php 
if (isset($_GET['id'])) 
    { 
     include('config.php'); 

     $id=$_GET['id']; 
     $result = mysql_query("SELECT * FROM athan_products WHERE product_id = $id"); 
     while($row3 = mysql_fetch_array($result)) 
      { 
       $resultq = mysql_query("SELECT * FROM inventory WHERE product_id LIKE '%".$id."%'"); 
       //$resultq = mysql_query("SELECT * FROM inventory WHERE product_id LIKE =$id"); 
       while($rows = mysql_fetch_array($resultq)) 
        { 
         $qwerty=$rows['qtyleft']; 
        }  
       if ($qwerty !=0){   
        echo '<tr>'; 
        //echo '<td>'.$row3['product_size_name'].'</td>'; 
        echo '<td>'.$row3['price'].'</td>'; 
        echo '<td>'.$row3['description'].'</td>'; 
        echo '<td>'.'<input name="but" type="image" value="'.$row3['id'].'" src="images/button.png" onclick="return myFunction()" />'.'</td>'; 
        echo '</tr>'; 
       } 
       else 
        { 
         echo '<tr>'; 
         //echo '<td>'.$row3['product_size_name'].'</td>'; 
         echo '<td align="center">'.'<h2>'.'Item is out of stock!'.'</td>'; 
         echo '</tr>'; 
         //echo '<td>'.'<h1>'.'"not available"'.'</h1>'.'</td>'; 
        } 
      } 
    } 
?> 
+4

太多的code.Can你只需发布与您的问题相关的代码? – Rikesh

+4

**危险**:您正在使用[an **过时的**数据库API](http://*.com/q/12859942/19068),并应使用[现代替换](http:// php。净/手动/ EN/mysqlinfo.api.choosing.php)。你也**易受[SQL注入攻击](http://bobby-tables.com/)**,现代的API会使[防御]更容易(http://*.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己从。 – Quentin

+0

机会是一个逻辑错误,但相关的PHP被很多不相关的标记掩盖了。我确实注意到你正在使用mysql_ *函数,并将用户输入直接放入查询中。前者是不好的,因为mysql_ *已被弃用,后者是不好的,因为它会打开你的SQL注入攻击。 – GordonM

我检查你的代码,我觉得没有任何这样的错误,但你需要改变你的查询。

$resultq = mysql_query("SELECT * FROM inventory WHERE product_id LIKE '%".$id."%'"); 

这是下面给出的。

$resultq = mysql_query("SELECT * FROM inventory WHERE product_id='".$id."'"); 

希望你能解决你的问题。

谢谢。

+0

哦,我的!我的荣幸先生这个救我的日子(y) – user3295525