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は、文字列ではなく、ステートメントHANDLEを返します。結果から行をフェッチする必要があります。

$res = mysql_query($filePath) or die(mysql_error());
$row = mysql_fetch_assoc($res);
unlink($row['path']);
于 2011-08-05T20:54:05.880 に答える
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 に答える
0

mysql_query文字列ではなく、リソースを返します。

使用する:

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

プロセス:

  1. データベースをクエリし、リソースハンドルを変数($query)に格納します。
  2. 行をフェッチし(1つしかない場合)、行をに格納し$resultます。
  3. 列の値を取得しpathます。
  4. その値を使用してファイルを削除します。

詳細および使用上の注意については、マニュアルを参照してください。

于 2011-08-05T20:55:10.347 に答える