2012-04-06 50 views
0

我无法从连接中的第二个表定义变量。我需要帮助从mysql中的连接表中定义变量

这是我的代码

$sql = "SELECT * 
    FROM Catalog 
     LEFT OUTER JOIN Client_Data on CatalogMgr.partnumber = Client_Data.partnumber 
     LEFT OUTER JOIN Clients on Client_Data.Client_id = Clients.Client_Id 
     LEFT OUTER JOIN Clients C1 on Clients.Client_Name = C1.Client_Name 
     WHERE Clients.Client_Id = '".$C_ID."' 
     AND Avail_Flag = 10"; 

$CL_Name = Clients.Client_Name; 

//结果
$结果= mysql_query($ SQL);

while ($row = mysql_fetch_array($result)) 

====在输出页面

echo "$CL_Name";  

是空的。

====我已经试过

$CL_name = $row['Clients.Client_Name']; 
$CL_name = $row['Client_Name']; 

都将返回一个空的变量。

感谢您的任何帮助。

+0

我猜测的问题,是因为你只选择目录表,而不是客户端表,其中CLIENT_NAME是。 – Altrim 2012-04-06 22:30:33

回答

0

第一个LEFT OUTER JOIN看起来不对。 CatalogMgr =>Catalog

0

为什么不选择这样的

$sql = "SELECT Catalog.* , Client_Data.name as `Client_Name` 
FROM Catalog 
    LEFT OUTER JOIN Client_Data on CatalogMgr.partnumber = Client_Data.partnumber 
    LEFT OUTER JOIN Clients on Client_Data.Client_id = Clients.Client_Id 
    LEFT OUTER JOIN Clients C1 on Clients.Client_Name = C1.Client_Name 
    WHERE Clients.Client_Id = '".$C_ID."' 
    AND Avail_Flag = 10"; 

    $CL_Name = Clients.Client_Name; 

并与PHP的echo这样

echo $row['Client_Name'];