2016-05-06 7 views
0

これは私の内部結合を初めて使用するので、私は非常に混乱しています。カラム内のすべてのデータを取得するSQL内部結合

私は2つのテーブルを持っています。

First one it: (I've blanked out details)

これが私の最初のテーブルである。これは、寄付と呼ばれる私の他のテーブルである

enter image description here

メンバーと呼ばれます。メンバーのユーザーIDは、寄付テーブルのユーザーIDとリンクされています。

私がしようとしているのは、メンバーからのデータと寄付テーブルからすべてのデータを選択し、寄付金額で各IDをassiotateすることです。だから私がしようとしているのは、それが理にかなっていれば、すべての名前を彼らの寄付額に沿ってエコーすることです。

これは、現時点では私のコード

$接続している - 私は戻って、このエラーを取得しています私の設定

//Connection info. 
    global $connect; 


    //inner join 
    $sql = "SELECT members.firstname, members.lastname 
    FROM members INNER JOIN donations ON members.userID = donations.userID WHERE donations.amount !='' ORDER BY members.userID ASC "; 

    $result = mysqli_query($connect, $sql); 


    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){ 

    $list .= $row["firstname"]; 
    echo $list; 
} 

が含まれていますmysqli_fetch_array()は、パラメータ1は、ブール

をmysqli_resultされることを想定してい更新:すべてのおかげで、私はSQLクエリを実行しているとちょうど最初と最後の名前を取得しています。

SELECT members.firstname, members.lastname FROM members INNER JOIN donations ON members.userID = donations.userID WHERE donations.amount !='' ORDER BY members.userID ASC 

は、私は私がここで何か間違ったことをやっていると思います!=「」寄付額は小数点以下は、私は右のそれをターゲットにしていますか?

+0

は、列名に誤りがあり、私はあなたのdatabseテーブルご回答固定スペル – Poria

+0

感謝を見るようにあなたのクエリでmembers.firstnameを使用しています。エラーがまだSQLに起因していると考えている – Ryan

+0

あなたのクエリを出力し、phpmyadminで直接試してみてください。 – Poria

答えて

0

members.idmembers.userIDと置き換えてください。 SQLエラーについては

SELECT members.firstname, members.lastname, donations.amount 
FROM members 
INNER JOIN donations ON members.userID = donations.userID 
WHERE donations.amount != '' 
ORDER BY members.userID ASC 

が発見されたクエリ、または全く結果に問題があるとき$結果はfalseあるので、それはです。

mysqli_fetch_array()パラメータ1がケースならば、あなたの中にあるため、単純なを追加し、エラーを防ぐために

ブールmysqli_resultことを期待しています。あなたはmembers.fisrnameを持って

if($result){ 
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){ 
     $list .= $row["firstname"]; 
     echo $list; 
    } 
} 
+0

ご回答ありがとうございます。私の更新されたコードをご覧ください。 – Ryan

+0

それは今動作していますか? –

+0

私は姓と名を戻しています。私は間違った寄付金額を目標にしていると思いますか?その小数点は – Ryan

1

カラム名 'fisrname' => 'firstname'に入力ミスがあります。 最初にphpmyadminまたは他のツールでクエリを確認してください。 mysqli_errorと後でDBにアクセスする他の手段(PDO、Doctrineなど)についても読んでください。

+0

あなたの応答の固定スペルがありがとうが、依然としてtingエラーが発生しました。 – Ryan

+0

私が書いたように、mysqli_errorのマニュアルを確認してください – rogers

関連する問題