0

home_team列とaway_team列の両方に配列内の値が含まれている行について、データベース内のテーブルにクエリを実行しようとしています。しかし、そのような運はありません。私のコードは次のとおりです。

$new_array = array();

for($i=0;$i<count($ncaa);$i++)
{
//  Since some of the values in this array contain apostrophes, escape each value 
$new_array[$i] = mysql_real_escape_string($ncaa[$i]);   
}

$list = join(",", $new_array);
$query = "SELECT * 
     FROM ncaa_games
     WHERE game_date_int >= '".$limit."' 
     AND (home_team = '".mysql_real_escape_string($team)."' OR away_team = '".mysql_real_escape_string($team)."') 
     AND home_team IN (".$list.")
     AND away_team IN (".$list.")
     ORDER BY game_date_int ASC 
     LIMIT 1";

$next = mysql_query($query)or die(mysql_error()); 

「SQL構文にエラーがあります。「UTSARoadrunners」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください)およびaway_team IN(Albany Great Danes、Binghamton)というエラーメッセージが表示され続けます。 5行目でベア」

これはかなり単純なことかもしれないと感じています。しかし、それはまだ私を逃れることができています。何か案は?

ありがとう、

ランス

4

1 に答える 1

2
$list = join(",", $new_array);

チームを引用符で囲みません。つまり、あなたは持っています:

away_team IN (Albany Great Danes,Binghamton Bears)

これが必要な場合:

away_team IN ('Albany Great Danes','Binghamton Bears')

$ list = join( "'、'"、$ new_array);を使用してみてください。そして持っている:

 AND home_team IN ('".$list."')
 AND away_team IN ('".$list."')

$list(空でないことを確認してください)。

于 2013-01-06T21:43:21.633 に答える