1

私は2つのmysqlテーブルを持っています。ここにそれらのsqlがあります=>

サブメニューで動的メニューを作成しています。SO私はそのようなクエリを実行したい状況を持っています

DELETE FROM artinfo WHERE descName=(SELECT for_sub_url FROM menu WHERE menu_id=" . $_POST['main_menu_titles'] . ")

$_POST['main_menu_titles']が存在し、menu_id です。私もphpコードを書いていません。それはうまく動作し、注目に値するのは、mysqlシェルから実行しようとするとこのクエリが実行されるからです(もちろん、$_POST['m_num']の代わりにmenu_idの番号を直接使用します)。

何が起こっているのか、phpスクリプトから実行する方法はありますか? ありがとう :)

アップデート

ここにphpスクリプトがあります

if ($connection->query("DELETE FROM artinfo WHERE descName=(SELECT for_sub_url FROM menu WHERE menu_id=" . $_POST['main_menu_titles'] . ")") && $connection->query("DELETE FROM artinfo WHERE descName IS NULL AND cat_id=" . $_POST['main_menu_titles'] . "")){
                            $edit_res_fine = "DELETED";
                        }
4

2 に答える 2

0

$_POST がなくてもクエリが正常に機能するという場合、問題のコードは $_POST['main_menu_titles'] を取得するために送信したフォームにあると思います。正しい値が送信されていることをテストするには、クエリの直前に $_POST['main_menu_titles'] の値をエコーし​​てみてください。

于 2012-07-30T19:34:05.497 に答える
-1

これを試して。

$query = "DELETE FROM artinfo WHERE descName = (SELECT for_sub_url FROM menu 
WHERE menu_id = '" . $_POST['m_num'] . "')";
于 2012-07-30T19:32:59.733 に答える