2012-12-04 3 views
-2
$id=$_GET["id"]; 
$query= " 
SELECT 
blomster_produkter.blomster_produkt_id, 
blomster_produkter.blomster_produkt_navn, 
blomster_produkter.blomster_produkt_pris 
FROM 
blomster_produkter 
INNER JOIN blomster_produkter ON 
blomster_produkter.FK_blomster_produkt_id=blomster_produkter.blomster_produkt_navn  
blomster_produkter.FK_blomster_produkt_id=blomster_produkter.blomster_produkt_pris 
blomster_produkter.FK_blomster_produkt_id=blomster_produkter.blomster_produkt_id 
WHERE FK_blomster_kategori_id=$id"; 

Pourquoi est-ce que cela me lance une erreur mysql 1066?erreur mysql 1066

(également désolé si je suis absent des choses importantes, c'est la première question que je pose sur stackoverflow)

+0

quelle erreur? peut écrire cette erreur _ –

+5

c'est l'erreur d'invasion The Norman –

Répondre

8

0,1 seconde de googler: « Erreur MySQL 1066 » - nom de la table pas unique/alias

FROM 
    blomster_produkter <--table #1 
    INNER JOIN blomster_produkter ON <-table #2 

vous ne pouvez pas se joindre à une table pour lui-même, ou réutiliser le même nom de la table dans une jointure, sans utiliser un alias:

FROM blomster_produkter 
INNER JOIN blomster_produkter AS someothername ON 
          ^^^^^^^^^^^^^^^^^--- the alias 

et puis en changeant les références de table si nécessaire dans vos conditions de jointure.

En outre, notez que vous êtes grand ouvert à sql injection attacks. Profitez d'avoir votre serveur pwn3d.

0

erreur est 1066 "Non tableau unique/alias"

c'est parce que vous êtes joindre à une table avec elle-même sans faire des alias, vous devez faire des alias tels que:

SELECT 
    bp1.blomster_produkt_id, 
    bp1.blomster_produkt_navn, 
    bp1.blomster_produkt_pris 
    FROM 
    blomster_produkter bp1 
    INNER JOIN blomster_produkter bp2 ON 
    bp1.FK_blomster_produkt_id=bp2.blomster_produkt_navn [...] 
Questions connexes