添付ファイルを更新する場所を作成しました。その際、同じ名前、サイズ、拡張子のファイルが添付されている場合、添付ファイルテーブルを更新する必要はありません。これがシナリオです。これは私がやろうとした方法です:PHPでデータを取得
else if($mode == "attachment_update") {
$id = intval(mysqli_real_escape_string($mysqli, $_REQUEST["_id"]));
$upload_directory = "upload/attachment/";
$result = file_upload("attachment", "../".$upload_directory);
$file_name = '".addslashes($result[file_name])."';
write_log($file_name);
$file_extension = '".$result[file_extension]."';
write_log($file_extension);
$file_size = '".$result[file_size]."';
write_log($file_size);
$uploaded_file_name = '".$result[uploaded_file_name]."';
write_log($uploaded_file_name);
$uploaded_file_path = '".$upload_directory.$result[uploaded_file_name]."';
write_log($uploaded_file_path);
$query_select = "SELECT
file_name,
file_extension,
file_size,
uploaded_file_name,
uploaded_file_path
FROM
attachments
WHERE
id = 'id';";
$result1 = mysqli_query($mysqli, $query_select) or throwexception(mysqli_error($mysqli));
$row = mysqli_fetch_row($result1);
write_log($row[0]);
write_log($row[1]);
write_log($row[2]);
write_log($row[3]);
write_log($row[4]);
if($row[0] == $file_name &&
$row[1] == $file_extension &&
$row[2] == $file_size &&
$row[3] == $uploaded_file_name &&
$row[4] == $uploaded_file_path)
{
write_log("inside if");
} else {
if($result[status] == true) {
$query = "UPDATE
attachments
SET
file_name = '".addslashes($result[file_name])."',
file_extension = '".$result[file_extension]."',
file_size = '".$result[file_size]."',
uploaded_file_name = '".$result[uploaded_file_name]."',
uploaded_file_path = '".$upload_directory.$result[uploaded_file_name]."',
recorded_by = '$recorded_by',
recorded_datetime = '$recorded_datetime'
WHERE
id = 'id';";
mysqli_query($mysqli, $query) or throwexception(mysqli_error($mysqli));
}
}
echo json_encode(array("message" => "Updated successfully"));
exit;
}
事は条件をします。すべてがtrueの場合、テーブルは更新されません。いずれかが失敗しても、テーブルは更新されます。
ここで問題は、$ file_name、$ file_extension、$ file_size、$ uploaded_file_nameがnullになることです。私はそれを取得する方法を知らない。誰かがそれらのデータを取得する方法を教えてもらえますか?そうすればif条件でそれをチェックできますか?
更新しようとしているのと同じIDを持つレコードがデータベースにあります – dev
なぜこのようなものがありますか?引用符で囲みます(最初は$ file_nameを定義します) – kerv
@dharmendrachaudhary:はい。以前に添付されたファイルがそこにあります。 – SSS