0

次のロジックを使用して、いくつかのフォーム データを 2 つのデータベース テーブルに入れようとしています。

  • INSERT'watchlists'テーブルへの新しいウォッチリスト
  • SELECT watchlist_id'watchlists'テーブルからの新しいウォッチリストWHERE watchlist_name = $watchlist_name(作成したばかりの新しいウォッチリストの名前) およびuser_id = $user_id
  • INSERT watchlist_id(前のクエリから選択) ANDテーブルfilm_id'watchlist_films'

次のコードを使用していますが、SELECTクエリの実行中にプロセスが壊れているようです。新しいウォッチリストはデータベースに正常に作成されますが、新しいウォッチリストの ID を選択したり、コードの最後のセクションを実行したりしません。

if ($db_server) {
        // Add new Watchlisth
        if (!empty($watchlist_name)) {
            $watchlist_name = clean_string($watchlist_name);
            $watchlist_description = clean_string($watchlist_description);
            mysql_select_db($db_database);

            // Create new Watchlist
            $insert_new_watchlist = "INSERT INTO watchlists (user_id, name, description, category) VALUES ('$user_id', '$watchlist_name', '$watchlist_description', '$watchlist_category')";
            mysql_query($insert_new_watchlist) or die("Insert failed. " . mysql_error() . "<br />" . $insert_new_watchlist);

            // Select new Watchlist's ID
            $select_new_watchlist_query = "SELECT watchlist_id FROM watchlists WHERE name = " . $watchlist_name;
            $new_watchlist_id = mysql_query($select_new_watchlist_query);

            // Insert film into new Watchlist
            $add_new_film = "INSERT INTO watchlist_films (watchlist_id, film_id) VALUES ('$new_watchlist_id', '$rt_id')";
            mysql_query($add_new_film) or die("Insert failed. " . mysql_error() . "<br />" . $add_new_film);
            $addWatchlist_good_message = '<div class="alert alert-success">Watchlist created successfully, and film added!</div>';?>
            <script>
                $('a.add-watchlist').trigger('click');
            </script><?php
        }
    } else {
        $addWatchlist_bad_message = '<div class="alert alert-error">Error: could not connect to the database.</div.';?>
        <script>
            $('a.add-watchlist').trigger('click');
        </script><?php
    }
    require_once("db_close.php");
}

次の文字列を使用して phpMyAdmin でクエリを実行しました: SELECT watchlist_id FROM watchlists where name = "LotR"(ここで、LotR は新しく作成されたウォッチリストの名前です)。ウォッチリストの ID が返される限り、それは完全に機能します。 2 つのINSERTクエリ。

4

1 に答える 1

1

mysql_query()フィールド値ではなく、リソースのデータ型を返すため、置き換えます

$new_watchlist_id = mysql_query($select_new_watchlist_query);

$result=mysql_query($select_new_watchlist_query);
$new_watchlist_id=mysql_result($result,0)
于 2013-03-23T17:12:59.277 に答える