PHP删除链接从文件夹中取消链接文件但不从MSSQL表中删除行
Posted
技术标签:
【中文标题】PHP删除链接从文件夹中取消链接文件但不从MSSQL表中删除行【英文标题】:PHP Delete Link Unlinks Files from Folders but Doesn't Remove Row from MSSQL Table 【发布时间】:2014-03-26 19:41:15 【问题描述】:当链接被点击时,这个功能就到位了。此功能的目的是从我的网站文件夹中删除图像和 PDF 文件,并从我的 MSSQL 表中删除指定的行。此功能仅从文件夹中删除图像和 PDF,但不会删除行。
这是函数的代码:
if ($_GET['del'] == 'true')
// cast id as int for security
$product_code = $_GET['product_code'];
$file = mssql_fetch_array(mssql_query("select product_img_name from products where id = $product_code"));
unlink("img/$file[0]");
$file38 = mssql_fetch_array(mssql_query("select specsheet from products where id = $product_code"));
unlink("specsheets/$file38[0]");
// delete row from table
$sql = "DELETE FROM products WHERE product_code = '$product_code'";
$result = mssql_query($sql, $conn);
// end if del
【问题讨论】:
【参考方案1】:您的最后一个 WHERE 条件有误。 product_code = '$product_code'
必须是 id = '$product_code'
此外,您可以通过一个查询获取两列:
$row = mssql_fetch_array(mssql_query("select product_img_name, specsheet from products where id = $product_code"));
unlink("img/$row[0]");
unlink("specsheets/$row[1]");
【讨论】:
如果两列有不同的名称,而您通过一个查询获取了这两个列怎么办? 列名是指每列内的数据。 我明白你的意思,并意识到我的回答有误。对此感到抱歉。您应该通过$row[0]
和$row[1]
访问元素。现在修复答案
我认为如果一个问题在 *** 上是独一无二的,与特定代码无关并且写得很好,那么它就值得投票。对于一个答案,它也应该写得很好,应该涵盖所有方面,应该给出相关的线索(如果有的话)。另外,我认为您的提议对我产生了不利影响..
我相信它是独一无二的。 Stack Overflow 上的大多数问题都源于对特定代码的经验。我相信两者都写得很好并且很准时。您的回答涵盖了我问题的所有方面。(它解决了我的问题。)它还提供了一种学习体验,您可以通过使用单个查询来缩短我的代码的额外知识。我也不认为要求交换赞成票会对您产生负面影响,因为我只是在问一个问题。以上是关于PHP删除链接从文件夹中取消链接文件但不从MSSQL表中删除行的主要内容,如果未能解决你的问题,请参考以下文章
django 多对多关系:如何删除项目但不从相关模型中删除它们
跟踪图像文件的链接或引用并删除未使用的文件(PHP/数据库)