0
所以這是我的問題。我有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>';
}
}
}
?>
太多的code.Can你只需發佈與您的問題相關的代碼? – Rikesh
**危險**:您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068),並應使用[現代替換](http:// php。淨/手動/ EN/mysqlinfo.api.choosing.php)。你也**易受[SQL注入攻擊](http://bobby-tables.com/)**,現代的API會使[防禦]更容易(http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin
機會是一個邏輯錯誤,但相關的PHP被很多不相關的標記掩蓋了。我確實注意到你正在使用mysql_ *函數,並將用戶輸入直接放入查詢中。前者是不好的,因爲mysql_ *已被棄用,後者是不好的,因爲它會打開你的SQL注入攻擊。 – GordonM