2011-08-08 11 views
1
$bilgi= mysql_query("SELECT age,wname,slid,sex FROM user AND city WHERE user.ci_name=(SELECT ci_id FROM city WHERE ci_name='$ciname')"); 
while($sutun= mysql_fetch_array($bilgi)) 

これは私の問い合わせステートメントです。これは私にエラーを与え、エラーが指定された引数はMySQLのリソースの結果では有効ではありません....SQLクエリにエラーがありますか?

私は何をやっているのか説明しましょう。私は都市のユニークな番号を見つけるために私のデータベースにいくつかの都市名を送信しています。私はイスタンブールを送信し、それは私のデータベース内のIDは2です。私は2つのテーブルがあり、1つは都市であり、もう1つはユーザです。ユーザーテーブルには年齢、性別、性別、スライドがあります。 ci_name部分はcity_idの外部キーです。 city_idはcityテーブルの主キーです。私はイスタンブールの年齢、性別、暴力、性別を探したい。

誰も私にこのエラーをスローして、私が欲しいものを見つける方法を教えてもらえますか?

+2

mySQLクエリをデバッグする方法については、http://stackoverflow.com/questions/6198104/reference-what-is-a-perfect-code-sample-using-the-mysql-extensionを参照してください。 –

答えて

4
$bilgi= mysql_query("SELECT age,wname,slid,sex FROM user, city WHERE user.ci_name=(SELECT ci_id FROM city WHERE ci_name='$ciname')"); 
    while($sutun= mysql_fetch_array($bilgi)) 

FROMセクションにはANDがありましたが無効です。

+0

実際にはもう一度見ています - 私は思いますとにかくあなたのSQLが間違っている場合、CITYテーブルからフィールドを返す場合は、 'user、city'だけが必要です。 – diagonalbatman

0

代わりに、あなたのように2を使用する1つのクエリを使用することができます。

$query = 'SELECT age,wname,slid,sex FROM user, city WHERE user.ci_name = city.ci_id AND city.name = '".$yourCityNameYouSeek."''; 

私は取得しない唯一のものは、あなたの街の名前が格納されているテーブルの列です。 userテーブルには、ci_nameがあります(それはNAMEかIDですか)?

+0

あなたの例はうまくいかない - 2つのWHERE句がある...私は編集するだろう – diagonalbatman

+1

ああ、悪い間違い...ありがとう! :) – scube

関連する問題