我有一个简单的查询,但我现在正在寻找错误一段时间。 我唯一能想到的是连接数据库时会出现问题,但这不是正确的,因为它正在网站的其他部分工作。
这是数据库连接:
$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 IS NULL OR producten.idproduct IS NULL)
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在& JOTER产品附近使用正确的语法。产品在生产过程中生产。产品和产品。在第8行
警告:mysql_fetch_array()要求参数1为资源,布线在第61行的/home/s010485/domains/jcsl.nl/public_html/medewerkers/paginas/boekingen/producten.php中给出
这是剧本。
$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'];
}
}
答案 0 :(得分: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;
我添加了表别名以使查询更具可读性。