0

「Image」テーブルの「ImageFile」フィールドに画像ファイル名を挿入するINSERT関数があります。自動番号のおかげで、各行には独自のImageIdがあります。この例を以下に示します。

ImageId    ImageFile

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

私がやりたいことは、ImageId を QuestionId と SessionId を持つ別のテーブルに挿入して、このテーブル (Image_Question) が ImageId を使用して Image テーブルを Image Question テーブルにリンクできるようにすることです。しかし、上記のテーブルに画像の詳細を挿入すると、その ImageId が取得され、Image_Question テーブルの ImageId にも格納されるようにコーディングするにはどうすればよいでしょうか。以下の例:

ImageId   SessionId  QuestionId

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

SessionId と QuestionId の INSERT 値をコーディングしましたが、ImageId を取得して挿入する方法だけが必要です。以下は現在のコードです。

<?php

session_start();


//connect to db

$i = 0;

$insertimage = array();

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


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

}


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

echo($imagesql);

mysql_close();


?>
4

2 に答える 2

1

クエリ実行後の mysqli_insert_id() はうまくいくでしょう

于 2013-02-14T04:47:44.607 に答える
0

MySQL の関数を使用して、最近生成されたauto_incrementID を取得できます。last_insert_id()PHP はこれをmysql_insert_id(). last_insert_id接続ごとに機能するため、ID をまたぐ同時挿入について心配する必要はありません。

于 2012-06-05T22:41:45.133 に答える