当使用PHP删除MSSQL表行时,如何取消文件与网站文件夹的链接

当使用PHP删除MSSQL表行时,如何取消文件与网站文件夹的链接,php,sql,sql-server,sql-delete,unlink,Php,Sql,Sql Server,Sql Delete,Unlink,我正在尝试建立链接 使用while函数从MSSQL表中删除特定行。目前,底层代码运行良好,可以从表中删除特定行,但我现在希望它从sharedstorage文件夹中取消文件链接。解除链接的文件的文件名存储在该表行的“名称”列中。每个表行都有一个名称列,其中包含位于sharedstorage文件夹中的文件的唯一文件名 简单地说,我的问题是当一个表行被删除时,我网站的sharedstorage文件夹中该行的文件将保留,并且不会与该行一起被删除 以下是针对特定行点击删除链接的代码: // delete

我正在尝试建立链接 使用while函数从MSSQL表中删除特定行。目前,底层代码运行良好,可以从表中删除特定行,但我现在希望它从sharedstorage文件夹中取消文件链接。解除链接的文件的文件名存储在该表行的“名称”列中。每个表行都有一个名称列,其中包含位于sharedstorage文件夹中的文件的唯一文件名

简单地说,我的问题是当一个表行被删除时,我网站的sharedstorage文件夹中该行的文件将保留,并且不会与该行一起被删除

以下是针对特定行点击删除链接的代码:

// delete from table
    if ($_GET['del'] == 'true') {
       // cast id as int for security
       $id = (int) $_GET['orderid'];
       // delete row from table
       $sql = "DELETE FROM shareddrive WHERE orderid = '$id'";
       $result = mssql_query($sql, $conn) or die(mssql_get_last_message());
       // select the info, ordering by usort
       $sql = "SELECT orderid, name, type FROM shareddrive ORDER BY orderid";
       $result = mssql_query($sql, $conn) or die(mssql_get_last_message());
       // initialize a counter for rewriting usort
       $job_pos_sortt = 1;
       // while there is info to be fetched...
       while ($r = mssql_fetch_assoc($result)) {
          $job_poss = $r['orderid'];
          // update the usort number to the one in the next number
          $sql = "update shareddrive SET orderid = '$job_pos_sortt' WHERE name = '$job_poss'";
          $update = mssql_query($sql, $conn) or die(mssql_get_last_message());
          // inc to next avail number
          $job_pos_sortt++;
       } // end while // end if del
    }

非常感谢您提供的所有帮助。

您提到取消链接,但代码中没有?我正在尝试向代码中添加一个取消链接的函数。我使用的是MSSQL,因此mysql\u fetch\u数组必须是其他的。我将尝试mssql_fetch_assoc,我会让你知道它是否有效。它不起作用。警告:unlink要求参数1是字符串,数组在第1202行的D:\Hostindstaffportal\sharedstorage.php中给出。您不应该要求这些参数。而且你自己都没试过。对不起,我不能投票。
// delete from table
    if ($_GET['del'] == 'true') {
       // cast id as int for security
       $id = (int) $_GET['orderid'];
       // delete row from table

       $file = mssql_fetch_array(mssql_query("select name from shareddrive where orderid = $id"));
       unlink($file[0]);     

       $sql = "DELETE FROM shareddrive WHERE orderid = '$id'";
       $result = mssql_query($sql, $conn) or die(mssql_get_last_message());
       // select the info, ordering by usort
       $sql = "SELECT orderid, name, type FROM shareddrive ORDER BY orderid";
       $result = mssql_query($sql, $conn) or die(mssql_get_last_message());
       // initialize a counter for rewriting usort
       $job_pos_sortt = 1;
       // while there is info to be fetched...
       while ($r = mssql_fetch_assoc($result)) {
          $job_poss = $r['orderid'];
          // update the usort number to the one in the next number
          $sql = "update shareddrive SET orderid = '$job_pos_sortt' WHERE name = '$job_poss'";
          $update = mssql_query($sql, $conn) or die(mssql_get_last_message());
          // inc to next avail number
          $job_pos_sortt++;
       } // end while // end if del
    }