【问题标题】:Query Boolean error查询布尔错误
【发布时间】:2014-05-24 23:15:59
【问题描述】:

我有一个简单的查询,但我正在寻找错误有一段时间了。 我能想到的唯一一件事就是连接到数据库时会出现问题,但这不可能是正确的,因为它正在网站的其他部分工作。

这是数据库连接:

$dbwebwinkel = mysql_connect("localhost", "abcdef", "123456") or die(mysql_error()); 
$db1 =mysql_select_db('abcdef', $dbwebwinkel) or die(mysql_error());

这是错误信息:

搜索查询中有问题(SELECT prod_omschrijving.producttitel, prod_omschrijving.idproduct AS 'idproductom', producten.idproduct AS 'idproductprod', producten.productlink FROM prod_omschrijving FULL OUTER JOIN producten ON producten.idproduct=prod_omschrijving。 idproduct WHERE prod_omschrijving.idproduct 为 NULL 或 producten.idproduct 为 NULL)

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 8 行的“OUTER JOIN producten ON producten.idproduct=prod_omschrijving.idproduct W”附近使用正确的语法

警告:mysql_fetch_array() 期望参数 1 是资源,布尔值在 /home/s010485/domains/jcsl.nl/public_html/medewerkers/paginas/boekingen/producten.php 第 61 行给出

这是脚本。

$qry = "
SELECT
    prod_omschrijving.producttitel,
    prod_omschrijving.idproduct AS 'idproductom',
    producten.idproduct AS 'idproductprod',
    producten.productlink
 FROM
    prod_omschrijving
 FULL OUTER JOIN 
    producten 
 ON 
    producten.idproduct=prod_omschrijving.idproduct
 WHERE
    prod_omschrijving.idproduct IS NULL
 OR
    producten.idproduct IS NULL";

$sql = mysql_query($qry, $dbwebwinkel);
$sql = mysql_query($qry, $dbwebwinkel);
if($sql === false)
{
    echo (" Er gaat iets mis in de zoekquery (".$qry .")".mysql_error($dbwebwinkel));
}
else
{
    WHILE ($lijstje = mysql_fetch_array($sql))
    {
        echo $lijstje['idproductom'];
    }
}

【问题讨论】:

  • 我看不懂错误所在的语言。我们是英文网站。
  • mysql...完全外连接...嗯?
  • Sorry Er gaat iets mis in de zoekquery 表示搜索查询中有问题
  • mysql 中没有 FULL OUTER JOIN - 请注意 php 的 mysql_ API 已弃用
  • 你有 10000 个完整的外连接?

标签: mysql sql boolean union-all full-outer-join


【解决方案1】:

您可以使用 union all 和两个外连接来做您想做的事情:

SELECT o.producttitel, o.idproduct AS idproductom,
       p.idproduct AS idproductprod, p.productlink
FROM prod_omschrijving o LEFT OUTER JOIN 
     producten p
     ON p.idproduct = o.idproduct
WHERE p.idproduct IS NULL
UNION ALL
SELECT o.producttitel, o.idproduct AS idproductom,
       p.idproduct AS idproductprod, p.productlink
FROM prod_omschrijving o RIGHT OUTER JOIN 
     producten p
     ON p.idproduct = o.idproduct
WHERE o.idproduct IS NULL;

我添加了表别名以使查询更具可读性。

【讨论】:

    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多