可捕获的致命错误:类mysqli_result的对象无法转换为字符串

时间:2015-07-08 08:42:34

标签: php file-upload mysqli

我是PHP和Mysql的新手,在尝试从服务器删除所选文件时不断收到此错误:

<?php
$nombre_archivo = $_POST['delete'];
if( isset($_POST['submit4']) ){
$con=mysqli_connect("####","####","####","####");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$user = mysqli_query($con,"SELECT `user` FROM `archivos_servidor` WHERE `nombre_archivo`='$nombre_archivo'");
mysqli_close($con);
}      
unlink("../uploads/".$user."/".$nombre_archivo);
?>

感谢您对此事的考虑

2 个答案:

答案 0 :(得分:1)

你错过了获取记录。你应该使用这个。

$nombre_archivo = $_POST['delete'];
if( isset($_POST['submit4']) ){
$con=mysqli_connect("####","####","####","####");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT `user` FROM `archivos_servidor` WHERE `nombre_archivo`='$nombre_archivo'");

$row = mysqli_fetch_assoc($result);

$user = $row['user'];
mysqli_close($con);
}      
unlink("../uploads/".$user."/".$nombre_archivo);

答案 1 :(得分:0)

更改$con = @new mysqli()if ($con->connect_errno())

所以你的代码就像这样

<?php
    $nombre_archivo = $_POST['delete'];
    if( isset($_POST['submit4']) ){
        $con = @new mysqli("####","####","####","####");//Change this
        if ($con->connect_errno())//change this too
        {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
        else
        {
            $user = mysqli_query($con,"SELECT user FROM archivos_servidor WHERE nombre_archivo='$nombre_archivo'");
            $result2 = mysqli_fetch_assoc($result);
            mysqli_close($con);
        }        
    }
    unlink("../uploads/".$user."/".$nombre_archivo);
?>