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