Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server与MySQL、PHP与ColdFusion_Php_Sql_Coldfusion - Fatal编程技术网

SQL Server与MySQL、PHP与ColdFusion

SQL Server与MySQL、PHP与ColdFusion,php,sql,coldfusion,Php,Sql,Coldfusion,这个查询在ColdFusion中运行良好,但在PHP中无法运行。PHP不喜欢我的连接。这两个查询有什么不同 <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 = #A

这个查询在ColdFusion中运行良好,但在PHP中无法运行。PHP不喜欢我的连接。这两个查询有什么不同

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

您过早地结束了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());

PHP不关心您的连接;你的意思是需要忽略它们吗?不,我的意思是PHP或ColdFusion将字符串发送到数据库服务器。它一点也不关心它们是否包含连接。那么,为什么查询在我的Cold Fusion站点上有效而在PHP站点上无效呢?可能是PHP区分大小写,而Cold Fusion不区分大小写吗。因为这些表都是用小写字母命名的!?因为这里有一个PHP语法错误。这与SQL无关。马克的回答很好地指出了这一点。