Avatar billede fynbo Nybegynder
29. november 2001 - 18:20 Der er 58 kommentarer og
1 løsning

PHP Fejl

Hvad betyder dette?
Cross dependency found in OUTER JOIN. Examine your ON conditions

$sql = \"SELECT
companies.Name,
companies.Address,
companies.Postcode,
companies.Phone,
companies.Fax,
companies.WWW,
companies.Shop,
companies.CompanyKey,
companies.Email,
companies.CompanyDesc,
postcodes.PostCode,
postcodes.City,
html.Info
FROM categorycompanylinks
LEFT JOIN html ON html.CompanyKey = companies.CompanyKey
LEFT JOIN companies ON companies.CompanyKey = categorycompanylinks.CompanyKey 
LEFT JOIN postcodes ON companies.PostCode = postcodes.Postcode
WHERE companies.Name = \'$firmanavn\' LIMIT 0, 30\";
Avatar billede morw Nybegynder
29. november 2001 - 18:21 #1
Dette er et sql spørgsmål ikke php
Avatar billede fynbo Nybegynder
29. november 2001 - 18:22 #2
ok, ved du hvad der er galt?
Avatar billede morw Nybegynder
29. november 2001 - 18:24 #3
Jeg er ikke sikker på du kan bruge LEFT JOIN html ON html.CompanyKey = companies.CompanyKey

Før JOIN med companies er gjort. Prøv at bytte om på linierne
Avatar billede fynbo Nybegynder
29. november 2001 - 18:26 #4
tak :-)

det virkede ....

smid lige et svar
Avatar billede morw Nybegynder
29. november 2001 - 18:26 #5
Ok da
Avatar billede fynbo Nybegynder
29. november 2001 - 18:29 #6
hvad betyder dette... et lille hurtigt spørgsmål
Not unique table/alias: \'companies\'
Avatar billede morw Nybegynder
29. november 2001 - 18:29 #7
Hvordan kan det være du har categorycompanylinks i din FROM - vilel det ikek være mere naturligt at bruge companies og så JOINe ud fra den?
Avatar billede morw Nybegynder
29. november 2001 - 18:30 #8
Får du Not unique table/alias: \'companies\'  i denne query?
Avatar billede fynbo Nybegynder
29. november 2001 - 18:31 #9
hvis jeg bruger companies, får jeg Not unique table/alias: \'companies\'  som du selv gættede...
Avatar billede fynbo Nybegynder
29. november 2001 - 18:31 #10
har du icq?
Avatar billede morw Nybegynder
29. november 2001 - 18:32 #11
Nope - aol
Avatar billede morw Nybegynder
29. november 2001 - 18:32 #12
eller mail
Avatar billede fynbo Nybegynder
29. november 2001 - 18:32 #13
full-text indekses er godt nok oprettet på companies..
Avatar billede morw Nybegynder
29. november 2001 - 18:36 #14
Det kan være sammenfald af navne på index og tabeller. Noget der hedder det samme: companies?
Avatar billede morw Nybegynder
29. november 2001 - 18:38 #15
Det er vel ikke fordi du joine tabellen med sig selv vel? Prøv lige at give mig hele den query der give fejl.
Avatar billede fynbo Nybegynder
29. november 2001 - 18:39 #16
hedder det samme hvor? ikke i databasen..

Avatar billede fynbo Nybegynder
29. november 2001 - 18:40 #17
$sql = \"SELECT
companies.Name,
companies.Address,
companies.Postcode,
companies.Phone,
companies.Fax,
companies.WWW,
companies.Shop,
companies.CompanyKey,
companies.Email,
companies.CompanyDesc,
postcodes.PostCode,
postcodes.City,
html.Info
FROM companies
LEFT JOIN companies ON companies.CompanyKey = categorycompanylinks.CompanyKey 
LEFT JOIN html ON html.CompanyKey = companies.CompanyKey
LEFT JOIN postcodes ON companies.PostCode = postcodes.Postcode
WHERE MATCH(Name) AGAINST (\'$firmanavn\') LIMIT 0, 30\";
Avatar billede fynbo Nybegynder
29. november 2001 - 18:41 #18
LEFT JOIN companies ON companies.CompanyKey = categorycompanylinks.CompanyKey 

så virker det..
Avatar billede fynbo Nybegynder
29. november 2001 - 18:42 #19
altså hvis den sætning fjernes :-)
Avatar billede morw Nybegynder
29. november 2001 - 18:42 #20
Ja, det var den der joinede med sig selv
Avatar billede morw Nybegynder
29. november 2001 - 18:42 #21
Ja den skal være:

LEFT JOIN categorycompanylinksON companies.CompanyKey = categorycompanylinks.CompanyKey 
Avatar billede morw Nybegynder
29. november 2001 - 18:43 #22
Indsæt selv mellemrum ;-D
Avatar billede fynbo Nybegynder
29. november 2001 - 18:44 #23
den, så fucker den igen, hvis [ LEFT JOIN categorycompanylinksON companies.CompanyKey = categorycompanylinks.CompanyKey ] sættes ind
Avatar billede morw Nybegynder
29. november 2001 - 18:45 #24
LEFT JOIN categorycompanylinks ON companies.CompanyKey = categorycompanylinks.CompanyKey

Husk lige det mellemrum
Avatar billede fynbo Nybegynder
29. november 2001 - 18:45 #25
og det er med mellemrum ;o)
Avatar billede morw Nybegynder
29. november 2001 - 18:46 #26
Hmm må jeg lige se det hele samt fejl
Avatar billede fynbo Nybegynder
29. november 2001 - 18:46 #27
den bliver bare 3 gange så lang tid om det, hvis man laver den left join, og det er jo ikke meningen, men det skal med..

nogen tips
Avatar billede morw Nybegynder
29. november 2001 - 18:47 #28
Hvad er 3 gange så lang tid? Hvad siger EXPLAIN?
Avatar billede fynbo Nybegynder
29. november 2001 - 18:48 #29
to sek, kører lige en explain på konsollen
Avatar billede fynbo Nybegynder
29. november 2001 - 18:49 #30
kan man godt lave en explain i phpmyadmin, eller skal det være i konsollen?
Avatar billede fynbo Nybegynder
29. november 2001 - 18:50 #31
gider næsten ikke indtaste explain [... hele sætningen ..] i dos, det er den eneste konsol serveren har
Avatar billede morw Nybegynder
29. november 2001 - 18:50 #32
Det kan du godt i phpmyadmin
Avatar billede morw Nybegynder
29. november 2001 - 18:53 #33
Man kan skam godt paste i dos. I al fald på min
Avatar billede fynbo Nybegynder
29. november 2001 - 18:55 #34
Avatar billede morw Nybegynder
29. november 2001 - 18:59 #35
Der mangler index på

companies.CompanyKey

og

categorycompanylinks.CompanyKey

Er der samme type felter? int? Det skal også være samme længde.
Avatar billede fynbo Nybegynder
29. november 2001 - 19:01 #36
begge er tal lige lange, men indekses kan da kun bruges på tekst eller hvad?
Avatar billede morw Nybegynder
29. november 2001 - 19:02 #37
Nej nej da
Avatar billede fynbo Nybegynder
29. november 2001 - 19:02 #38
mener: begge felter er int(25) ;-)
Avatar billede morw Nybegynder
29. november 2001 - 19:02 #39
Du må ikke have nogle joins hvor der står ALL ved.
Avatar billede morw Nybegynder
29. november 2001 - 19:04 #40
Prøv at oprette et index via phpmyadmin på categorycompanylinks.CompanyKey. Tror ikek den første er nødvendig.
Avatar billede fynbo Nybegynder
29. november 2001 - 19:04 #41
hvordan får jeg så rettet det?


ved at oprette indeks på

companies.CompanyKey

og

categorycompanylinks.CompanyKey

og

html.CompanyKey
Avatar billede morw Nybegynder
29. november 2001 - 19:07 #42
Hvis du klikker på categorycompanylinks ude i højre side i phpmyadmin.

Derefter på index ud for CompanyKey. Så opretter den et index.
Avatar billede fynbo Nybegynder
29. november 2001 - 19:11 #43
CREATE FULLTEXT INDEX ft_10 ON html (CompanyKey)

MySQL returnerede:


Can\'t create table \'.\\fagguiden\\#sql-878_ac.frm\' (errno: 140)
Avatar billede morw Nybegynder
29. november 2001 - 19:12 #44
Du skal ikke lave fulltext. Bare et alm index. Fulltext er kun til text, varchat ikke int
Avatar billede fynbo Nybegynder
29. november 2001 - 19:16 #45
Avatar billede morw Nybegynder
29. november 2001 - 19:17 #46
Det ser bedre ud - er den hurtigere?
Avatar billede fynbo Nybegynder
29. november 2001 - 19:26 #47
meget! kommer med den samme
Avatar billede fynbo Nybegynder
29. november 2001 - 19:29 #48
Hvis du kan hjælpe med denne, knalder jeg 100 poitn oveni:
$sql = \"SELECT
companies.Name,
companies.Address,
companies.Postcode,
companies.Phone,
companies.Fax,
companies.WWW,
companies.Shop,
companies.CompanyKey,
companies.Email,
companies.CompanyDesc,
postcodes.PostCode,
postcodes.City,
html.Info
FROM companies
LEFT JOIN categorycompanylinks ON companies.CompanyKey = categorycompanylinks.CompanyKey
LEFT JOIN categories ON categories.CategoryKey = categorycompanylinks.CategoryKey
LEFT JOIN html ON html.CompanyKey = companies.CompanyKey
LEFT JOIN postcodes ON companies.PostCode = postcodes.Postcode
WHERE MATCH(Name) AGAINST (\'Birthe\') \";

LEFT JOIN categories ON categories.CategoryKey = categorycompanylinks.CategoryKey  er kommet ind...

den svarer:
Column: \'Name\' in where clause is ambiguous
Avatar billede fynbo Nybegynder
29. november 2001 - 19:31 #49
kan det have noget at gøre med, det er et full-text index der hedder Name på categories?
Avatar billede fynbo Nybegynder
29. november 2001 - 19:32 #50
sorry, der er sgu ikke noget full-text index på categories
Avatar billede morw Nybegynder
29. november 2001 - 19:33 #51
Nej brug

WHERE MATCH(companies.Name) AGAINST (\'Birthe\')\";
Avatar billede morw Nybegynder
29. november 2001 - 19:34 #52
Kan du ikke smide dem i mysql kategorien de point der?
Avatar billede fynbo Nybegynder
29. november 2001 - 19:44 #53
fedt! det virker!

den endelige ser sådan ud:
$sql = \"SELECT
companies.Name,
companies.Address,
companies.Postcode,
companies.Phone,
companies.Fax,
companies.WWW,
companies.Shop,
companies.CompanyKey,
companies.Email,
companies.CompanyDesc,
postcodes.PostCode,
postcodes.City,
html.Info
FROM companies
LEFT JOIN categorycompanylinks ON companies.CompanyKey = categorycompanylinks.CompanyKey
LEFT JOIN categories ON categories.CategoryKey = categorycompanylinks.CategoryKey 
LEFT JOIN html ON html.CompanyKey = companies.CompanyKey
LEFT JOIN postcodes ON companies.PostCode = postcodes.Postcode
WHERE 1 and MATCH(companies.Name) AGAINST (\'$firmanavn\') and categories.CategoryKey = \'$D1\'\";

$firmanavn = det søgte firmanavn
$D1 = en bestemt kategori
---
se resultatet på
http://www.salgsmarked.dk/phpguiden/branche.php

vælg advokater fx. og lav så en søgning
Avatar billede morw Nybegynder
29. november 2001 - 19:47 #54
Fedt, den virke også hurtig. Hvor meget fylder basen egentlig?
Avatar billede fynbo Nybegynder
29. november 2001 - 19:49 #55
Avatar billede morw Nybegynder
29. november 2001 - 19:52 #56
Hvor meget ram har du i maskinen?

(Har svaret i mysql kategorien)
Avatar billede fynbo Nybegynder
29. november 2001 - 19:54 #57
512 mb på server1
256 mb på server2

siden blever senere til fagguiden.dk

projektet gik ud på at konvertere fra asp til php og fra Access til MySQL...

Avatar billede morw Nybegynder
29. november 2001 - 19:56 #58
ok, ja php er også et godt valg. Er selv skiftet til php fra asp for et par år siden.
Avatar billede fynbo Nybegynder
29. november 2001 - 20:02 #59
kan jeg ikke få din email, eller kan du ikke sende mig en, hvis du ikke vil skrive den på eksperten.dk, hvis jeg skulle sidde fast med et virkeligt problem?..

christian@fynbo.com
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester