一个特定的删除子句不起作用

时间:2013-02-09 12:33:50

标签: php sql

此删除子句不适用于我的PHP脚本,但我的其他删除子句有效。当我甚至使用phpMyAdmin运行查询时,它可以工作。我看不到任何语法错误;出了什么问题?

$sql = mysql_query("delete from tbl_albums where album_id = '6'");
if($sql)
{
    system('/bin/rm -rf ' . escapeshellarg("../assets/images/gallery/".$id));
}
else
{
    echo '<script>alert("Failed to delete album");</script>';
}

2 个答案:

答案 0 :(得分:0)

不推荐使用您用于执行查询的函数,建议您继续阅读并了解在现代PHP中使用SQL的最佳实践。但是,如果您打算使用mysql_系列函数,则应该知道错误后mysql_query返回false并且调用mysql_error会将文本作为文本提供给您数据库返回的错误,然后您可以记录或打印。这样做很可能会让你轻松解决问题。

最有可能的解释:表不存在,列不存在,您通过删除行违反约束,或者在删除后触发触发器导致其他一些错误。

答案 1 :(得分:0)

你需要使用它:

$sql = mysql_query("delete from tbl_albums where album_id = '6'");
if($sql)
{
    system('/bin/rm -rf ' . escapeshellarg("../assets/images/gallery/".$id));
}
else
{
    echo mysql_error();
}

根据错误,您需要修改SQL脚本。最有可能的是,问题可能是由于列名称错误或其他原因造成的。你需要说出这里的错误是什么,以便我们可以尝试解决这个问题。