2012-06-07 161 views
0

我有一個INSERT函數,它將圖像文件名插入到「Image」表中的「ImageFile」字段中,每行都有它自己的ImageId,這要歸功於自動編號。這方面的一個例子如下:如何從一個數據庫表中檢索ImageId並將其存儲在另一個數據庫表中

ImageId ImageFile 

23   orange.jpg 
24   flowers.png 
25   castle.png 
26   orange.jpg 

我想要做的也是插入圖像標識與QuestionId和SessionID的另一個表,該表(Image_Question)可以使用圖像標識的圖像表的鏈接圖片問題表。現在我試圖使用mysql_insert_id從Image Table中檢索ImageId並將其存儲在Image_Question表中的ImageId中。

但我似乎無法弄清楚我需要做什麼,此刻插入圖像表的INSERTING值工作正常,但它不會在Image_Question表中插入任何值。

所以我的問題是插入到圖像表中的每一行,我該如何從圖像表中檢索ImageId,並使用mysql_insert_id()將其插入到Image_Question表中?下面 例子:

ImageId SessionId QuestionId 

23  AAA  1 
24  AAA  2 
25  AAA  3 
26  AAA  4 

我已編碼的SessionID和QuestionId的INSERT值,但只需要幫助檢索和插入圖像標識。以下是當前代碼:

<?php 

session_start(); 


//connect to db 

$result = 0; 
$i = 0; 
$insertimage = array(); 
$lastimageid = mysql_insert_id(); 


     move_uploaded_file($_FILES["fileImage"]["tmp_name"], 
     "ImageFiles/" . $_FILES["fileImage"]["name"]); 
     $result = 1; 

     $imagesql = "INSERT INTO Image (ImageFile) 
     VALUES ('ImageFiles/".mysql_real_escape_string($_FILES['fileImage']['name'])."')"; 

    for($i = 0; $i < $c; $i++){ 


    $insertimage[] = "'". mysql_real_escape_string($lastimageid [$i]) ."','". 
        mysql_real_escape_string($_SESSION['id']) . 
        ($_SESSION['initial_count'] > 1 ? $_SESSION['sessionCount'] : '') ."' ,'". 
        mysql_real_escape_string($_POST['numQuestion'][$i]) ."'"; 

} 

    $imageinsertsql = "INSERT INTO Image_Question (ImageId, SessionId, QuestionId) 
    VALUES (" . implode('), (', $insertimage) . ")"; 

    mysql_query($imageinsertsql); 

    mysql_query($imagesql); 

     } 

     mysql_close(); 

?> 

我有一箇舊的PHP版本5.2.13,因爲那是大學的服務器版本。

回答

0

您需要重新安排你的PHP代碼運行

mysql_query($imagesql); 
$lastimageid = mysql_insert_id(); 
mysql_query($imageinsertsql); 

目前你retreive lastimageid,插入Image_Question然後插入圖片。

0

你需要運行

$lastimageid = mysql_insert_id(); 

後,您將其插入到數據庫中。

相關問題