-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を使用するためのベストプラクティスを読み、理解することをお勧めします。ただし、関数ファミリを使用する場合は、エラーが発生した後、 returnsを実行すると、データベースから返されたエラーがテキストとして返され、ログに記録したり、印刷したりできることmysql_を知っておく必要があります。これを行うだけで、問題を簡単に解決できる可能性があります。mysql_queryfalsemysql_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 に答える