我无法从 PHP 中的数据库获取存储值(存储的值是没有扩展名的文件名)



我正在尝试从数据库$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']);
}

看起来您可能返回了一个包含第一行的空变量。如果您注释掉该行,输出是什么:

//$oldfile = ' ';

另外,仅供参考...,您正在设置$sql变量,但它没有在其他任何地方使用:

$sql=mysqli_query($con,"update styles set stylename='$styles' where id='$id'");

您必须先填充$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;
}
}

最新更新