php - 是否可以在 MYSQL JOIN 语句中使用 AND 子句?

标签 php mysql pdo

我目前正在使用 PDO 进行数据库查询,我发现当我附加查询的“AND IFC.location= :location”部分时查询不会运行,这是由于在我使用 AND 子句时出现的问题已经使用查询来连接两个表? (“tables”表格和“IFC”表格)

$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);
}

最佳答案

是的。您的查询应该有效,但正确的语法将使用显式 JOIN:

SELECT name 
FROM IFC JOIN
     tables
     ON IFC.tablename = tables.id AND IFC.location = :location
ORDER BY Numopinions DESC;

您认为查询不起作用有什么原因吗?

关于php - 是否可以在 MYSQL JOIN 语句中使用 AND 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30881006/

相关文章:

php sql将来自不同数据库的多个表连接在一起

php - 没有在命名空间中捕获 PDOException

php - 经验丰富的新手的 Oracle 陷阱

php - 计算字符串中没有空格和特殊字符的字符数?

javascript - 减少表单垃圾邮件

php - org.apache.http.conn.HttpHostConnectException : Connection to http://127. 0.0.1 拒绝

mysql - 加速更新、内连接、日期之间、按 MySQL 查询分组

MySQL sql 忽略 WHERE 条件

php - redbean php 错误 - RedBeanPHP\OODBBean 声明 :offsetGet() must be compatible with that of ArrayAccess:offsetGet()

php - laravel 的记住我 token 有什么用?