-1

私はPHPプログラミングにかなり慣れていないので、周りを見回しましたが、まだ混乱しています. ユーザー テーブルのイメージ パスを更新しようとしていますが、その方法がよくわかりません。これは、画像をデータベースに入れるためのコードであり、それを挿入するために機能しますが、ユーザーが作成した画像ではなく、新しく挿入された画像を使用するためにデータベース内の画像の画像パスを更新する方法がわかりませんアカウント作成時に選択。

// Make sure we didn't have an error uploading the image
($_FILES[$image_fieldname]['error'] == 0)
or handle_error("the server couldn't upload the image you selected.",
$php_errors[$_FILES[$image_fieldname]['error']]);

// Is this file the result of a valid upload?
@is_uploaded_file($_FILES[$image_fieldname]['tmp_name'])
 or handle_error("you were trying to do something naughty.  Shame on you!",
"upload request: file named " .
"'{$_FILES[$image_fieldname]['tmp_name']}'");

// Is this actually an image?
@getimagesize($_FILES[$image_fieldname]['tmp_name'])
 or handle_error("you selected a file for your picture " .
"that isn't an image.",
"{$_FILES[$image_fieldname]['tmp_name']} " .
"isn't a valid image file.");

// Name the file uniquely
$now = time();
while (file_exists($upload_filename = $upload_dir . $now .
'-' .
$_FILES[$image_fieldname]['name'])) {
$now++;
}

// Finally, move the file to its permanent location
@move_uploaded_file($_FILES[$image_fieldname]['tmp_name'], $upload_filename)
 or handle_error("we had a problem saving your image to " .
"its permanent location.",
"permissions or related error moving " .
"file to {$upload_filename}");

$insert_sql = "UPDATE users set user_pic_path WHERE user_id = $user_id =
replace(user_pic_path, '$upload_filename', '$upload_filename' );

//insert the user into the database
mysql_query($insert_sql);
</code>

編集: " がありませんでした。これを修正しましたが、SQL エラーはなくなりました。画像はデータベースに入れられますが、データベースの画像パスは置き換えられません。$insert_sql をいじっていますが、まだありません。データベースを新しいイメージ パスで更新できません。どうすればよいですか? 新しい更新コードは次のとおりです。

<code>
$insert_sql = "UPDATE users WHERE user_id = $user_id set user_pic_path =
replace(user_pic_path, '$upload_filename', '$upload_filename')";
</code>
4

1 に答える 1