0

私はこれを正しく行っているとは思いません。問題は、バックグラウンドでphpスクリプトでこのコードを実行するためにajaxを使用しているため、エラーがないかどうかを確認できないことです。

変数$lastIDは実際に最後に挿入された「ImageId」フィールドからIDを取得しますか、それともこれをまったく実行しませんか?最後のIDを取得していない場合、最後のImageId IDを取得できるようにするには、実際に何をする必要がありますか?

ImageIdは自動インクリメントフィールドです。

以下はコードです:

$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;
4

3 に答える 3

0

あなたは使用する必要があります

$mysqli->insert_id;

最後に挿入されたIDを取得します。PHPの公式ドキュメントページはこちらです。

于 2012-08-02T23:28:57.400 に答える
0

$ lastIDをエコーすると、PHPへのajax呼び出しを開始したJavaScriptコードに返送されます。それをコールバック関数に渡し、それが正しいかどうかを確認します

于 2012-08-02T23:30:28.420 に答える
0

$mysqli->insert_id自動インクリメントフィールド(ImageId)を返す必要があります。Mysqli.insert-idを参照してください

また、PHPエラーをファイルに記録し、ターミナルtail -f <log file>を開いて、何が起こっているかを見ることができます。(これは、関連するアクセス権があることを前提としています)。

于 2012-08-02T23:30:56.943 に答える