これは簡単に解決できるかもしれませんが、このコードに問題があります - 私は独学で PHP の初心者であり、思いついたコードは機能したくないようです。
スポーツ大会のオンラインエントリーシステムのページです。審査員の詳細は「club_judges」テーブルに保存され、ユーザーはそれらを「competition_judges」にコピーすることでコンテストに参加できます。これは、テーブルのチェックボックス フォームを介して行われます。
すでにコンペティションに追加されているジャッジがインポート フォームに表示されないようにする機能を追加したいのですが、コードが機能していないようです。「bg_number」(スポーツの識別番号) の一意のフィールドを使用して、既存のエントリを検索しています。
現在のコード:
$existing_judges = mysql_query("SELECT bg_number FROM competition_judges WHERE competition='Test Competition'");
$existing_judges_fetch = mysql_fetch_array($existing_judges);
$existing_judges_array = "('" . implode( "', '", $existing_judges_fetch ) . "');" ;
$query = "SELECT * FROM club_judges WHERE (`club`='Test Club') AND (`bg_number` NOT IN '$existing_judges_array') ORDER BY name ";
$result = mysql_query($query) or die(mysql_error());
表示されるエラー:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''('1234567', '1234567');') ORDER BY name' at line 1
参考までに、1234567 は私のテスト審査員の bg_number です。
どんな助けでも大歓迎です!