0

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

1.所有者
ID


2.
商品 ID
id2
id3
アイテム

SELECT * FROM owners LEFT JOIN product ON product.id=owners.id where firstname='Jezebel';

所有者と製品から関連するすべてのアイテムを返すコマンドラインから正常に動作しますが、次の PHP を使用します

$result = mysql_query("SELECT * FROM owners LEFT JOIN product ON product.id=owners.id where firstname='".$_POST['fname']."'")

テーブル所有者からの結果のみを返します。

私は広範囲にグーグルで検索しましたが、この問題を抱えている人は他にいません。

4

4 に答える 4

0
$fname= $_POST['fname'];
$result = mysql_query("SELECT * FROM owners LEFT JOIN product ON product.id=owners.id where firstname='$fname'")
于 2013-03-29T08:36:09.343 に答える
0

まず第一に、自動インクリメント列に一致する2つのテーブルがありますidか?

しかし、これを試してみませんか?

SELECT tb1.id, tb1. firstname, tb1.lastname, tb2.id, tb2.id2, tb2.id3, tb2.item FROM owners AS tb1 LEFT JOIN product AS tb2 ON tb2.id=tb1.id where tb1.firstname=$fname
于 2013-03-29T12:27:37.387 に答える
0

エラーが見つかりました。selectステートメントとは何の関係もありませんでした。表示コードに誤りがありました。こんなはずじゃなかった

echo "</td><td>"; 
echo $row['id3'];

でも代わりにこうだった

echo "</td></td>"; 
echo $row['id3'];

ご協力ありがとうございました。

于 2013-03-29T20:17:17.243 に答える
0

まず、クエリを次のようにします

    $query = sprintf("SELECT * FROM owners LEFT JOIN product ON product.id=owners.id where firstname='%s'",mysql_real_escape_string(trim($_POST['fname'])));
    $result = mysql_query($query) or die(mysql_error());
    var_dump(mysql_fetch_assoc($result));

この回答を更新できるように、結果をお知らせください。

于 2013-03-29T09:10:43.860 に答える