2011-11-26 2 views
0

이 쿼리는 ColdFusion에서 잘 작동하지만 아직 PHP로 작동하지 않습니다. PHP는 내 조인을 좋아하지 않습니다. 두 쿼리에서 다른 점은 무엇입니까?SQL Server와 MySQL 및 PHP 비교 ColdFusion

<cfquery name="getArt" datasource="mssqlcf_PDartist1"> 
select * from artwork a 
join Categories b on (b.CID = a.CID) 
join SubCategories c on (c.CID = b.CID and c.SCID = a.SCID) 
where AID = #AID# 
order by DisplayOrder 
</cfquery> 


<?php 
$dbname = 'pdartist2'; 
$table = 'artwork'; 
$result = mysql_query("SELECT * from artwork") or die(mysql_error()); 
a join Categories b on (b.CID = a.CID) 
join SubCategories c on (c.CID = b.CID and c.SCID = a.SCID) 
where AID = $AID 
order by DisplayOrder 
mysql_free_result($result); 
?> 
+0

PHP는 조인을 신경 쓰지 않습니다. ;) – Tomalak

+0

남겨 둘 필요가 있다는 뜻입니까? –

+0

아니, PHP (또는 ColdFusion, 그 문제에 대해) * 문자열 * 데이터베이스 서버에 보내는 것을 의미합니다. 조인이 포함되는지 여부는 상관하지 않습니다. – Tomalak

답변

2

PHP 문자열을 너무 일찍 종료했습니다. 따옴표는 전체 SQL 쿼리를 둘러싸 야합니다 :

$result = mysql_query("SELECT * 
    FROM artwork a 
    JOIN Categories b ON b.CID = a.CID 
    JOIN SubCategories c ON c.CID = b.CID AND c.SCID = a.SCID 
    WHERE AID = $AID 
    ORDER BY DisplayOrder") or die(mysql_error()); 
관련 문제