簡體   English   中英

MySQL查詢從命令行工作,但只有一半在PHP中工作

[英]Mysql query working from command line but only half working in PHP

我有兩張桌子

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']."'")

只返回表所有者的結果。

我已經在Google上進行了廣泛的搜索,沒有看到其他人遇到此問題。

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

首先,使您的查詢與此類似

    $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));

並告訴我結果,以便我更新此答案。

首先:您有兩個表,它們的自動增量列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

我發現了錯誤。 這與select語句無關。 我在顯示代碼中有錯字。 應該是這樣的

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

但是卻是這樣

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

謝謝大家的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM