我正在尝试从数据库$oldfile
获取文件名,并用一个新的文件名$newfile
替换它。问题是$oldfile
返回一个空值,但是在数据库中它具有一个值。
$oldfile = '';
if(isset($_POST['submit'])){
$styles=$_POST['styles'];
$id=intval($_GET['id']);
$sql=mysqli_query($con,"update styles set stylename='$styles' where id='$id'");
$file = $oldfile.'.php';
$tempfile = strtolower($styles);
$newfile = $tempfile.'.php';
if(!rename($file, $newfile)){
$_SESSION['delmsg']="File Not Replaced!";
}
$_SESSION['msg']="Styles Updated!".$file;
}
$id=intval($_GET['id']);
$query=mysqli_query($con,"select * from styles where id='$id'");
while($row=mysqli_fetch_array($query)){
$disp = $row['stylename'];
$oldfile = strtolower($row['stylename']);
}
答案 0 :(得分:0)
似乎您可能在第一行返回一个空变量。如果您将该行注释掉,输出是什么:
//$oldfile = ' ';
也,仅供参考...,您正在设置$ sql变量,但未在其他任何地方使用该变量:
$sql=mysqli_query($con,"update styles set stylename='$styles' where id='$id'");
答案 1 :(得分:0)
您必须先填充$ oldfile变量。请尝试以下:
$oldfile = '';
if(isset($_POST['submit'])){
$styles=$_POST['styles'];
$id=intval($_GET['id']);
$sql=mysqli_query($con,"update styles set stylename='$styles' where id='$id'");
$query=mysqli_query($con,"select * from styles where id='$id'");
while($row=mysqli_fetch_array($query)){
$disp = $row['stylename'];
$oldfile = strtolower($row['stylename']);
$file = $oldfile.'.php';
$tempfile = strtolower($styles);
$newfile = $tempfile.'.php';
if(!rename($file, $newfile)){
$_SESSION['delmsg']="File Not Replaced!";
}
$_SESSION['msg']="Styles Updated!".$file;
}
}