我无法从php中的db中获取存储值(存储值是一个没有扩展名的文件名)

iezvtpos  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(355)

我正试图从数据库中获取文件名 $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']);
}
nkcskrwz

nkcskrwz1#

必须先填写$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;
    }
}
llmtgqce

llmtgqce2#

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

//$oldfile = ' ';

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

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

相关问题