我有两张桌子
1.owners
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']."'")
仅返回表所有者的结果。
我已经广泛搜索过,并且没有其他人看到这个问题。
答案 0 :(得分:0)
$fname= $_POST['fname'];
$result = mysql_query("SELECT * FROM owners LEFT JOIN product ON product.id=owners.id where firstname='$fname'")
答案 1 :(得分: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));
让我知道结果,以便我可以更新这个答案。
答案 2 :(得分: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
答案 3 :(得分:0)
我发现了错误。这与select语句无关。我在显示代码中输入了一个拼写错误。应该是这样的
echo "</td><td>";
echo $row['id3'];
但是就像这样
echo "</td></td>";
echo $row['id3'];
谢谢大家的帮助。