2013-07-25 153 views
-1

我無法從$ _GET變量中檢索id。我正在嘗試使用特定的ID更新數據庫中的表。事情是,我可以看到地址欄上的id,但無法通過$ _GET檢索它,這是代碼。在這裏,我只是分享代碼的一部分。請檢查並引導我。

<?php 
session_start(); 
include 'connect.php'; 
$id= $_GET['product_id']; 

$select_query = "select * from products LEFT JOIN product_description 
       ON products.product_id='".$_GET['product_id']."' and 
       product_description.product_id='".$_GET['product_id']."' 
       where products.product_id='".$_GET['product_id']."'  "; 

if(!$select_query_run = mysql_query($select_query)) 
{ 
    echo mysql_error(); 
} 
else 


Notice: Undefined index: product_id in 
F:\xampp\htdocs\CMS\update_single_product.php on line 36 

,如果我使用$id相反,它給了我4號線的誤差。

/cms/update_single_product.php?product_id=159 

**

我現在所做的一些改變其工作。我仍然不知道它如何 得到固定的,但它的工作:)

**

+0

請發佈您在瀏覽器地址欄上看到的網址 – Fallen

+0

http://localhost/cms/update_single_product.php?product_id = 159 –

+0

您可以嘗試拋出'$ _GET'數組來查看其中的*是*嗎? ,例如'var_dump($ _ GET);退出;'? – Phil

回答

1

您應該檢查是否首先設置$ _GET ['product_id']。您還在變量中定義了$ _GET ['product_id']。在查詢中使用它,並且不要忘記保護mysql注入的所有輸入。

 
$id = mysql_real_escape_string($_GET['product_id']); 

$select_query= "SELECT * FROM products LEFT JOIN product_description ON products.product_id='".$id."' and product_description.product_id='".$id."' where products.product_id='".$id."'"; 

您可以嘗試echo $ id並查看會發生什麼。

在附註上; MySQL已棄用。您應該使用mysqli或PDO。

+0

它給了我相同的身份證號碼,它顯示在地址欄中 –

+0

嘗試檢查是否首先設置變量。 if(isset($ _ GET ['product_id'])){//做需要'product_id'的東西}} –

1

使用isset()函數,以避免出現問題。

if(isset($_GET['product_id'])) { 
    $id= $_GET['product_id']; 

} else { 
    $id = 1; 
} 
// code here 

使用這個,你可以避免沒有得到價值的行爲。