2012-08-02 61 views
0

我不認爲我這樣做是正確的,問題在於,因爲我使用ajax在後臺執行php腳本中的代碼,所以我無法檢查任何可能出現的錯誤。如何退出上次插入的ID?

變量$lastID實際上是從最後一次插入的「ImageId」字段中檢索ID還是完全沒有這樣做?如果它沒有檢索到最後一個ID,那麼爲了能夠檢索最後一個ImageId ID我該怎麼做?

圖像標識是一個自動遞增字段:

下面是代碼:

$imagesql = "INSERT INTO Image (ImageFile) VALUES (?)"; 

if (!$insert = $mysqli->prepare($imagesql)) { 
    // Handle errors with prepare operation here 
} 

//Dont pass data directly to bind_param store it in a variable 
$insert->bind_param("s", $img); 

//Assign the variable 
$img = 'ImageFiles/' . $_FILES['fileImage']['name']; 

$insert->execute(); 

//RETRIEVE IMAGEID FROM IMAGE TABLE 

$lastID = $mysqli->insert_id; 
+0

只需通過瀏覽器訪問頁面即可測試ajax請求 – 2012-08-02 23:28:05

回答

0

您應該使用

$mysqli->insert_id; 

獲得最後插入的ID。 官方PHP文檔頁面是here

0

echo $ lastID它將被髮送回啓動ajax調用PHP的JavaScript代碼。將它傳遞給回調函數並檢查它是否正確

+0

此代碼位於imageupload.php頁面,ajax代碼位於「QandATable.php」頁面中,該頁面回顯$ lastID,因爲它沒有當我將它包含在imageupload.php頁面中時,不會迴應任何內容。 – user1394925 2012-08-02 23:35:56

+0

可以粘貼涉及頁面的代碼以及Javascript以獲得更好的圖片嗎? – raidenace 2012-08-03 20:34:02

0

$mysqli->insert_id應該返回自動遞增字段(ImageId)。請參閱Mysqli.insert-id

此外,您還可以將PHP錯誤記錄到文件中,打開終端tail -f <log file>,您可以觀看正在發生的事情。 (這假定你有相關的訪問權限)。