2013-05-14 36 views
-2

的目的是爲了獲得產品ID的用戶已經進入的形式,已經在前面的腳本已創建,並把這些2個的值到訂單的ID產品order_line_item表。不把ID這個腳本變量

我已經確定,這是因爲在變量,名爲「$ db_productid」和沒有價值發生錯誤,那麼當我插入該數值到它試圖尋找與該ID的產品,它可以鏈接到但數據庫有是爲0的ID沒有產品,因此返回以下錯誤:

Cannot add or update a child row: a foreign key constraint fails (the_shop . order_line_item , CONSTRAINT order_line_item_ibfk_1 FOREIGN KEY (ProductID) REFERENCES product (ProductID) ON DELETE CASCADE ON UPDATE CASCADE)

這是我的腳本:

if (isset($_GET['submit1'])) { 
    $dblastid = $_SESSION['lastid']; 
    $db_product_name = $_GET['product_name']; 

    $query = "SELECT ProductID FROM product WHERE Product_Name = '$db_product_name'"; 
    $result = mysql_query($query) 
      or die(mysql_error()); 
    $fetch = mysql_fetch_assoc($result); 
    $db_productid = $fetch['ProductID']; 
    $lastid = $_SESSION['lastid']; 

    $query = "INSERT INTO `the_shop`.`order_line_item`(
`OrderID` , 
`ProductID` 
) 
VALUES (
'$lastid', '$db_productid')"; 
    $result = mysql_query($query) 
      or die(mysql_error()); 
} 

在進一步調試我發現字符串用戶輸入到表格確實出現在'$ db_product_name'和a產品使用該名稱是在產品表

+0

你說說'$ dbcustomerid',但該變量不存在於您的代碼片段中。 –

+0

我的意思$在這種情況下db_productid對不起 –

+0

,請確保您的查詢實際上返回數據的至少一排......並注意你敞開了[SQL注入攻擊(http://bobby-tables.com )。 –

回答

1

的數據庫出於某種原因,我的老師給了我們需要插入這樣

.$db_username.變量意味着當用戶打算用戶名,將被保存的印象是,但前和入境後點......反正現在插入記錄沒有這樣做,它工作正常...將是有趣的我的老師看到了一個網站,工作正常,沒有這樣做:)

+0

'$ X =「A」。 $ b。 'c'將字符串'a'和'c'與變量$ b的值連接起來。做'$ x =「a {$ b} c」'是同樣的事情 –