2012-05-11 7 views
0

나는 간단한 가입 쿼리가 있습니다설정 변수

$lstCheck = $dbWHMCS->query('SELECT * FROM tblmonitorports mp 
          INNER JOIN tblmonitorhosts h ON h.hst_id = port_mon 
          INNER JOIN tblhosting ho ON ho.id = h.hst_serverid 
          INNER JOIN tblclients cl ON cl.id = ho.userid'); 

while ($data = $lstCheck->fetch()) 
{ 
      $serveridx = $data['ho.id']; 
      $clientid = $data['cl.id']; 
} 

내 문제는 내가 너무 내 변수 모두 같은이를 tblhosting 및 tblclients 두 테이블의 "ID"열이 있다는 것입니다을 신분증. 위 예제에서 별칭을 사용하여 설정하려고 시도했지만 작동하지 않습니다. 위의 예에서이 작업을 수행하려면 어떻게해야합니까?

감사합니다.

답변

1

어때요? (PHP는 세부 사항에 약간 녹슨하지만이 그것을해야) :


$lstCheck = $dbWHMCS->query('SELECT ho.id hid, cl.id cid FROM tblmonitorports mp 
          INNER JOIN tblmonitorhosts h ON h.hst_id = port_mon 
          INNER JOIN tblhosting ho ON ho.id = h.hst_serverid 
          INNER JOIN tblclients cl ON cl.id = ho.userid'); 

while ($data = $lstCheck->fetch()) 
{ 
      $serveridx = $data['hid']; 
      $clientid = $data['cid']; 
} 
+0

감사 미르코을 들릴 수도 선택, 그러나이

while ($data = $lstCheck->fetch()) { $serveridx = $data['hst_serverid']; $clientid = $data['userid']; } 

을, 나는 나머지 40 열을 사용하고 있기 때문에이 것 가장 가능성이 작품은 그러나 나는 * 사용하고 그 페이지! – Sherif

+0

이것이 통증이 될 수 있음을 알고 있지만 일반적으로 모든 열을 어쨌든 포함하는 것이 가장 좋습니다. 나는 또한 ho와 같은 일을 할 수있는 것처럼 솔직히 더 좋은 대답을하지 못합니다. 모든 호 열을 포함하려면 단일 열의 별칭을 지정하고 모든 열을 포함 할 수 없습니다. – Mirko

+0

감사합니다. 그렇게하겠습니다. – Sherif

1

당신은 와일드 카드 *로, 레코드를 선택하는, 그래서 당신은 같은 필드를 선택할 수 없습니다.

검색어에 따라 h.hst_serverid & ho.userid은 원하는 값과 정확하게 같습니다. SO 단순히 특정 행이 더 나은 너무

$lstCheck = $dbWHMCS->query('SELECT ho.id hid, cl.id cid, ....'); 

while ($data = $lstCheck->fetch()) 
{ 
      $serveridx = $data['hid']; 
      $clientid = $data['cid']; 
}