2012-12-13 59 views
1

我無法使這個查詢工作,我有2個客戶端信息一個表,另一個與產品信息。試圖在查詢數據庫時加入它們。空的mysql_query,無法弄清楚

mysql_query(
    "SELECT client.id, client.email, client.prodid, prod.id, prod.name 
    FROM client, prod 
    WHERE client.id ="'.mysql_real_escape_string($_GET["id"]).'" 
    AND client.prodid =prod.id" 
); 

但是,該查詢不返回任何內容。我究竟做錯了什麼?提前致謝。

回答

3

您的報價是錯誤的。

您可以使用「開始在你的方法中的字符串。在中間使用"'.mysql_real_escape_string($_GET["id"]).'"。請注意,您使用"'而不是'"

這應該更好地工作(從一個PHP一點,我沒有檢查你的SQL語法):

mysql_query(
    "SELECT client.id, client.email, client.prodid, prod.id, prod.name 
    FROM client, prod 
    WHERE client.id ='".mysql_real_escape_string($_GET["id"])."' 
    AND client.prodid =prod.id" 
); 
+0

+1我寫了相同的答案,但你先到這裏! :-)我很難看到OP的代碼如何工作。 –

+0

是的......它應該至少返回一些PHP錯誤..! – Veger

+0

如果client.id是數字,那麼單引號也可以使用。 – hansvedo

1

你的報價似乎抵消動態ID變量如果您client.id領域是數字,那麼你就應該去除環境mysql_real_escape_string單引號():

mysql_query(
"SELECT client.id, client.email, client.prodid, prod.id, prod.name 
FROM client, prod 
WHERE client.id = ".mysql_real_escape_string($_GET["id"])." AND client.prodid = prod.id" 
); 

如果它在PHPMyAdmin中工作,那麼查詢很好。啓用調試和使用var_dump():

ini_set('display_errors','on'); 
error_reporting(E_ALL); 
$result = mysql_query($sql_query); 
var_dump($result); 
+0

對不起,但這也沒有解決問題。 –

+0

未解決問題,但顯示了特定的錯誤? – hansvedo