新しいファイルまたは既存のファイルがアップロードされた場合にデータベース行を追加するphpスクリプトが以下にあります。
<?php
session_start();
...//connect to DB
$result = 0;
if( file_exists("ImageFiles/".$_FILES['fileImage']['name'])) {
$imagesql = "INSERT INTO Image (ImageFile)
VALUES ('ImageFiles/".mysql_real_escape_string($_FILES['fileImage']['name'])."')";
mysql_query($imagesql);
} else {
$imagesql = "INSERT INTO Image (ImageFile)
VALUES ('ImageFiles/".mysql_real_escape_string($_FILES['fileImage']['name'])."')";
mysql_query($imagesql);
}
mysql_close();
?>
<script language="javascript" type="text/javascript">window.top.stopImageUpload(<?php echo $result ? 'true' : 'false'; ?>, '<?php echo $_FILES['fileImage']['name'] ?>');</script>
しかし、問題は、$ result = 2のときにelseステートメントの下にifステートメントを追加して、データベースの行を削除したいということです。これを試してみると、新規または既存のファイルをアップロードした後、データベース行が挿入されません。
if ($result = 2){
$imagecancelsql = "DELETE FROM Image
WHERE ImageFile = 'ImageFiles/". mysql_real_escape_string($_FILES['fileImage']['name'])."'";
mysql_query($imagecancelsql);
}
だから私の質問は:必要なデータベースの更新を実行するために、上記のifステートメントをphpスクリプトにどのように配置するのですか?