2012-07-19 39 views
0

我具有低於它文件上載一個mysqli的代碼和數據插入到「圖像」表:如何檢索imageid並將其插入另一個表中? (mysqli的)

<?php 

session_start(); 


$username="xxx"; 
$password="xxx"; 
$database="mobile_app"; 

    $mysqli = new mysqli("localhost", $username, $password, $database); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    die(); 
    } 

$result = 0; 

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

    $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(); 

     } 

    } 



?> 

因此,例如,如果我插入2個圖像「cat.png」和「狗。 PNG」到‘圖片’數據庫中的表,它會插入這樣的:

ImageId   ImageFile 

220    cat.png 
221    dog.png 

(圖像標識爲自增列)

反正我的問題是什麼,當一個文件被上傳,不僅是數據插入到上面的表中,但我想也能夠retri前夕已插入以上,並將其放置在Image_Question見下表所以它會是這樣的圖像標識:

ImageId   SessionId  QuestionId 

    220    cat.png  1 
    221    dog.png  4 

我的問題是,如何從圖像表中檢索圖像標識,並將其插入到Image_Question表?下面是我的代碼將使用MySQL的數據插入到Image_Question表,只需要能夠從圖像表中檢索圖像標識:

$imagequestionsql = "INSERT INTO Image_Question (ImageId, SessionId, QuestionId) 
     VALUES (?, ?, ?)"; 


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

    $sessid = $_SESSION['id'] . ($_SESSION['initial_count'] > 1 ? $_SESSION['sessionCount'] : ''); 

    $insertimagequestion->bind_param("sss", $sessid, $_POST['numQuestion'][$i]); 

      $insertimagequestion->execute(); 

      if ($insertimagequestion->errno) { 
       // Handle query error here 
      } 

      $insertimagequestion->close(); 

回答

0

第一次插入後,您可以使用mysqli_insert_id來獲取ID,以及在Image_Question中執行第二次插入時的用法。