2017-05-18 3 views
-3

私はウェブ開発の新人であり、毎日良くなるように努力しています。謙虚に私はあなたの助けを求めています。mysqlクエリのデータを表示できません

私の問題は、次のとおりです。

私は、ほぼ同じ構造を持つ2つのテーブル、カバーとラミネーションを持っています。だから両方のテーブルからidを選択してif文と比較してみました。

<?php 

$get_lamination = $mysqli->query("SELECT a.id , b.id FROM $table_lamination a , $table_cover b "); 
while($row = mysqli_fetch_array($get_lamination)) { 

     echo "the cover id is". $row['b.id'] . "id"; 
?> 

私はカバーIDを表示できないため、多分私は間違っています。 私の質問にお答えいただき本当にありがとうございます。 もう一度ありがとうございます。

+0

@clearshot66それは必要ではありません。 – Nimish

+0

エラーについての質問をするときは、常に**エラーログ**を含めてください。 'error_reporting(E_ALL);を追加してください。 ini_set( 'display_errors'、1); 'あなたの' php'スクリプトの先頭に、何が返されますか? –

+0

なぜ$ table_laminationを書いたのですか?あなたのクエリはまったく結果を出しますか?echo mysqli_num_rows($ get_lamination);で確認してください。 –

答えて

0

問題は、クエリーで同じ名前の2列を返そうとしますが、同じキーで同じ配列の2つの出現を参照できないようにPHPで行うことができないためですこの

SELECT a.id as a_id, b.id as b_id 
FROM $table_lamination a , $table_cover b 

今すぐそこになりますように2列はあなたの結果の各行に返され、そのうちの少なくとも1つをエイリアスと呼ばれるものを使用して新しい名前を与える必要があり

while($row = mysqli_fetch_array($get_lamination)) { 

    echo "the laminate id is ". $row['a_id']; 
    echo "the cover id is ". $row['b_id']; 
+0

ありがとうございました!出来た !! –

+0

http://stackoverflow.com/help/someone-answers – RiggsFolly

0

することができます」同じ名前で2つの値が返されます。 as演算子を使用して、a.id as aid, b.idのような名前に変更します。 var_dump($row)には1つのIDのみが表示されます。言われていること

$get_lamination = $mysqli->query("SELECT a.id as aid, b.id as bid FROM $table_lamination a , $table_cover b "); 
while($row = mysqli_fetch_array($get_lamination)) { 
     echo "the cover id is". $row['bid'] . "id"; 
?> 

は、クエリで直接変数を使用することは安全ではない - あなたは非常に少なくとも、彼らはあなたが彼らが期待するものであることを検証するために、それらをホワイトリストに登録する必要があります。

+0

ご回答いただきありがとうございます。私は最終的にすべてのあなたのコメントと回答を通して解決策を見つけることができました。私はあなたを所有しています。皆さん、ありがとうございました! –

関連する問題