0

我试图从某处的文件夹中删除一个项目,我需要将项目的路径传递给 unlink()。出于某种原因,它说我没有返回一个字符串,我不知道该怎么做。

这是所有代码:

$filePath = "Select path FROM library where id=" .$id;

    unlink(mysql_query($filePath));

    $library =  "DELETE FROM library WHERE id =" .$id;
    $files =    "DELETE FROM files WHERE library_id=" .$id;
    mysql_query($library) or die('Unable to update using sql '.$library.' '.mysql_error($link));
    mysql_query($files) or die('Unable to update using sql '.$files.' '.mysql_error($link));
4

3 回答 3

3

mysql_query 返回一个语句句柄,而不是一个字符串。您需要从结果中获取一行:

$res = mysql_query($filePath) or die(mysql_error());
$row = mysql_fetch_assoc($res);
unlink($row['path']);
于 2011-08-05T20:54:05.880 回答
0

mysql_query返回资源,而不是字符串。

利用:

$query = mysql_query($filePath);
$result = mysql_fetch_array($query);
$path = $result['path'];
unlink($path);

过程:

  1. 查询数据库并将资源句柄存储在变量 ( $query) 中。
  2. 获取该行(如果只有一个)并将该行存储在$result.
  3. 获取path列的值。
  4. 使用该值删除文件。

有关详细信息和使用说明,请参阅手册

于 2011-08-05T20:55:10.347 回答
0

http://php.net/manual/en/function.mysql-query.php

http://www.php.net/manual/en/function.mysql-result.php

mysql_query 实际上并不返回您选择的查询的值,而是一个结果资源。您可以使用函数 mysql_result(, , ) 来获取想要的信息。

于 2011-08-05T20:57:25.997 回答