PHP语法与ColdFusion

PHP语法与ColdFusion,php,sql,Php,Sql,使用ColdFusion,您可以使用相同的搜索条件在同一个表上运行任意多个查询,只需为查询指定如下名称: <cfquery name="getNext" datasource="mssqlcf_PDartist1"> 但是使用PHP,我已经知道了如何命名查询。因此,当我需要多次查询同一个表时,我会得到解析错误:语法错误,意外的T_变量 <?php $dbname = 'pdartist2'; $table = 'artwork'; $result = mysql_quer

使用ColdFusion,您可以使用相同的搜索条件在同一个表上运行任意多个查询,只需为查询指定如下名称:

<cfquery name="getNext" datasource="mssqlcf_PDartist1">

但是使用PHP,我已经知道了如何命名查询。因此,当我需要多次查询同一个表时,我会得到解析错误:语法错误,意外的T_变量

<?php
$dbname = 'pdartist2';
$table = 'artwork';
$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());  
while($row = mysql_fetch_array($result)){   
    $AID = $row['AID'];
    $ArtFilePath = $row['ArtFilePath'];
    $ThumbFilePath = $row['ThumbFilePath'];
    $Title = $row['Title'];
    $Dimensions = $row['Dimensions'];
    $Medium = $row['Medium'];       
    $Comments = $row['Comments'];
    $DisplayOrder = $row['DisplayOrder'];
    $Details = $row['Details']; 
    $nextDO = $rom['CID = getArt.CID and SCID = getArt.SCID and DisplayOrder'];
}
mysql_free_result($result);

?>

<?php $nextDO = getArt.DisplayOrder +1; ?>
<?php $prevDO = getArt.DisplayOrder -1; ?> 

<?php
$dbname = 'pdartist2';
$table = 'artwork';
$result = mysql_query("SELECT AID from artwork where CID = getArt.CID and SCID = getArt.SCID and DisplayOrder = $nextDO") or die(mysql_error());
mysql_query($query);
?> 


每个查询都将单独工作,但如果有多个查询,则不能单独工作。就像我说的,在ColdFusion中,我只会给每个查询一个不同的名称。

使用PHP,您需要连接到DB,上面的代码什么都不做,您只是给变量赋值。首先,就像连接到数据库所需的任何其他语言一样:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
然后需要指定要访问的数据库:(当然,在运行这些查询之前不要关闭sql连接)

然后,您可以只向数据库发送查询

$result = mysql_query('SELECT * WHERE 1=1');
现在,如果要多次使用查询,您可以复制粘贴上面的代码,或者将查询分离并放入变量中,然后执行变量,如:

$q = 'SELECT * WHERE 1=1';
$result = mysql_query($q);

我希望回答您的问题

正如所怀疑的那样,您有一行末尾缺少分号:

<?php
$dbname = 'pdartist2';
$table = 'artwork';
$query = ("SELECT AID from artwork where CID = getArt.CID and SCID = getArt.SCID and DisplayOrder = $nextDO");
//--missing ; here-----------------------------------------------------------------------------------------^^^^
$result = mysql_query("SELECT AID from artwork where CID = getArt.CID and SCID = getArt.SCID and DisplayOrder = $nextDO")
or die(mysql_error());
$result = mysql_query($query);
 ?> 


请显示其余的PHP代码。您发布的内容不会导致任何语法错误。最有可能的情况是,您可能在错误(或许多其他可能性)之前的行中缺少分号是的,因为您怀疑缺少一个
。见下面我的答案。
<?php
$dbname = 'pdartist2';
$table = 'artwork';
$query = ("SELECT AID from artwork where CID = getArt.CID and SCID = getArt.SCID and DisplayOrder = $nextDO");
//--missing ; here-----------------------------------------------------------------------------------------^^^^
$result = mysql_query("SELECT AID from artwork where CID = getArt.CID and SCID = getArt.SCID and DisplayOrder = $nextDO")
or die(mysql_error());
$result = mysql_query($query);
 ?>