0

我有两张桌子

1.owners
id
firstname
lastname

2.product
id
id2
id3
item

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

我发现了错误。这与 select 语句无关。我在显示代码中有错字。应该是这样的

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

而是变成了这样

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

谢谢大家的帮助。

于 2013-03-29T20:17:17.243 回答
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

首先,使您的查询类似于此

    $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 回答
0

首先:您有两个在自动增量列上匹配的表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 回答