Php 可以在MYSQL JOIN语句中使用AND子句吗?
我目前正在使用PDO进行数据库查询,我发现当我附加查询的“AND.IFC.location=:location”部分时,查询没有运行,当我已经使用查询连接两个表时,使用AND子句是否会导致问题?(表和IFC表)Php 可以在MYSQL JOIN语句中使用AND子句吗?,php,mysql,pdo,Php,Mysql,Pdo,我目前正在使用PDO进行数据库查询,我发现当我附加查询的“AND.IFC.location=:location”部分时,查询没有运行,当我已经使用查询连接两个表时,使用AND子句是否会导致问题?(表和IFC表) $location='1'; 回声“; $sql=“从IFC、表格中选择名称 其中IFC.tablename=tables.id和IFC.location=:location 由Numopinions DESC订购 "; $stmt=$dbh->prepare($sql); $stmt-
$location='1';
回声“;
$sql=“从IFC、表格中选择名称
其中IFC.tablename=tables.id和IFC.location=:location
由Numopinions DESC订购
";
$stmt=$dbh->prepare($sql);
$stmt->bindParam(“:location”,$location);
如果($stmt->execute())
{
$rows=$stmt->fetchAll();
打印(行);
}
是。您的查询应该可以工作,但正确的语法将使用显式的JOIN
:
您认为查询不起作用有什么原因吗?是的,也可以在联接中使用。如果您认为您的语句不起作用,请尝试在不准备语句的情况下使用,然后查看结果
$location= '1';
echo "<pre>";
$sql="SELECT name from IFC,tables
WHERE IFC.tablename=tables.id AND IFC.location=:location
ORDER BY Numopinions DESC
";
$stmt= $dbh->prepare($sql);
$stmt->bindParam(":location", $location);
if($stmt->execute())
{
$rows = $stmt-> fetchAll();
print_r($rows);
}
SELECT name
FROM IFC JOIN
tables
ON IFC.tablename = tables.id AND IFC.location = :location
ORDER BY Numopinions DESC;