-3

此删除子句不适用于我的 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>';
}
4

2 回答 2

0

您用于执行查询的函数已弃用,建议您在继续之前阅读并了解在现代 PHP 中使用 SQL 的最佳实践。但是,如果您要使用mysql_函数系列,您应该知道在发生错误后,mysql_queryreturnsfalse和 callmysql_error会将数据库返回的错误作为文本提供给您,然后您可以记录或打印该错误。这样做很可能会让您轻松解决问题。

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

于 2013-02-09T12:53:33.527 回答
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 脚本。最有可能的问题是由于列名错误或其他原因。您需要在这里说出错误是什么,以便我们可以尝试解决问题。

于 2013-02-09T12:54:40.717 回答