在 php 脚本中放置这个 if 语句的位置


Where to place this if statment in the php script

我在下面有一个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 脚本中,以便它执行必要的数据库更新?

你没有在任何地方定义你的$result变量,所以 if 永远不会被执行。无论如何,您应该将其放在那里:

<?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);
}
if ($result == 2){
  $imagecancelsql = "DELETE FROM Image 
  WHERE ImageFile = 'ImageFiles/". mysql_real_escape_string($_FILES['fileImage']['name'])."'";
  mysql_query($imagecancelsql);
}
mysql_close();
?>