• 09.07.2025, 18:44
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

kurti_der_neue

Junior Member

MySQL sux

Montag, 4. September 2006, 14:33

Hallo ihr alle

Hab ein PHP/MySQL-Problem

Das ist mein mySQL-String

SELECT * FROM photo WHERE arg1= 'Durchlader' OR arg1= 'Design' OR arg1= 'eckig' AND arg2= 'Durchlader' OR arg2= 'Design' OR arg2= 'eckig' AND arg3= 'Durchlader' OR arg3= 'Design' OR arg3= 'eckig' AND arg4= 'Durchlader' OR arg4= 'Design' OR arg4= 'eckig' AND arg5= 'Durchlader' OR arg5= 'Design' OR arg5= 'eckig' AND arg6= 'Durchlader' OR arg6= 'Design' OR arg6= 'eckig' AND arg7= 'Durchlader' OR arg7= 'Design' OR arg7= 'eckig' AND arg8= 'Durchlader' OR arg8= 'Design' OR arg8= 'eckig' AND arg9= 'Durchlader' OR arg9= 'Design' OR arg9= 'eckig' AND arg10= 'Durchlader' OR arg10= 'Design' OR arg10= 'eckig' AND arg11= 'Durchlader' OR arg11= 'Design' OR arg11= 'eckig'

Damit hole ich mir die Daten

$ergebnis = mysql_query($qrystr);

while($row = mysql_fetch_object($ergebnis)):

echo "<img src=\"jpg.gif\">".$row->komm.$row->url;

endwhile;

Und dann kommt

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in .\result.php on line 45

??? ??? ??? Höä? Wieso funzt das nicht? Was hab ich falsch gemacht? Hab den Befehl mal in phpmyadmin eingegeben und da ging es... Seeehr seltsam.

Kann mir wer helfen?
Irgendwie fürchte ich, nein:P .... Na mal abwarten ::)

Gruß Kurt

bluedragon_italy

Full Member

Re: MySQL sux

Montag, 4. September 2006, 14:48

Y0Gi

God

Re: MySQL sux

Montag, 4. September 2006, 15:13

Genau, einfach mal 'nen polemischen Titel setzen. PEBKAC, Junge. Lass dir die Fehlerbeschreibung anzeigen, dein Query dürfte falsch oder zu lang sein.

Außerdem solltest du dir dringlichst mal den IN-Operator ansehen, den du in deiner WHERE-Bedingung gewinnbringend einsetzen kannst:

Quellcode

1
2
3
4
mysql> SELECT 2 IN (0,3,5,7);
        -> 0
mysql> SELECT 'wefwf' IN ('wee','wefwf','weg');
        -> 1

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

iNFiNiTE

God

Re: MySQL sux

Montag, 4. September 2006, 15:15

1. würde ich rein formell vor dem = - zeichen ne leerstelle machen

2. ist so ein monsterquery sicher nicht gut..

3. liegt dein problem wahrscheinlich an den ANDs.. wie wärs mal mit klammern setzen ?!

messi

kurti_der_neue

Junior Member

Re: MySQL sux

Montag, 4. September 2006, 16:03

jajaja PEBKAC...

MySQL-Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'arg1 = 'Durchlader' OR arg1 = 'Design' OR arg1 = 'eckig' AND arg2 = 'Durchlader'' at line 1

wo is denn da ein Syntax-Fehler??

xx_ElBarto

God

Re: MySQL sux

Montag, 4. September 2006, 16:12

du könntest es mal mit klammern probieren ;) :

arg1 = 'Durchlader' OR arg1 = 'Design' OR (arg1 = 'eckig' AND arg2 = 'Durchlader')

kurti_der_neue

Junior Member

Re: MySQL sux

Montag, 4. September 2006, 16:22

selbiges problem mit klammern

Anisachse

God

Re: MySQL sux

Montag, 4. September 2006, 16:28

was zum teufel versuchst du da zu machen mit dem query?
wie wärs wennde uns mal sagst was der selektieren soll und wir versuchen daraus nen schöneres query zu bauen der auch funktioniert?!

Y0Gi

God

Re: MySQL sux

Montag, 4. September 2006, 16:31

Verbesser schon mal das Query:

Quellcode

1
2
3
arg1= 'Durchlader' OR arg1= 'Design' OR arg1= 'eckig'
-->
arg1 IN ('Durchlader', 'Design', 'eckig')

(Und den Rest natürlich analog.)

Chrizzz

Senior Member

Re: MySQL sux

Montag, 4. September 2006, 17:36

Verdammtes mysql!
Muss daran liegen...

Denn sonst hättes du evtl. diesen kleinen Fehler eingebaut, nä(h)mlich den hier:

Quellcode

1
$ergebnis = mysql_query($qrystr);


Dazu empfehle ich folgende Lektüre:
http://de.php.net/mysql_query

Ich nehme an, dass du einfach noch keine Verbindung zu mysql aufgebaut hast.
Signatur out of date...

kurti_der_neue

Junior Member

Re: MySQL sux

Montag, 4. September 2006, 17:52

also ich will ne suche für ne kleine bilddatenbank machen

hab mir das anfangs mit der volltextsuche ganz einfach vorgestellt nur leider funktioniert das überhaupt nicht. Kommen dauernd irgendwelche fehler oder er findet garnichts weil es den wert 2x in der tabelle gibt.

Dann hab ich es wie oben probiert. Und ja ich habe auch eine verbindung hergestellt. daran wirds nicht liegen. nur habe ich gemerkt dass die syntax für ne ausgiebige suche (er soll alle felder arg1-arg12 nach einem oder mehereren string durchsuchen) nicht ausreicht. ich bin mittlerweile am überlegen ob ich das nicht alles umschmeiße weil mysql der totale mist ist, oder versteht das hier einer mit den fulltext-keys!? man kann ja auch einfach ein auf textdateien basiertes script anfertigen.

mann nervt mich das alles. hab schon wieder den ganzen tag nichts geschafft. hock an meinem schreibtisch und krieg diese scheiß-datenbank nicht zum laufen

in hass, wut und kummer versinkend :-( , kurt


edit: achja und bitte bitte belasst es bei den antworten nicht nur auf einem link zum mysql-handbuch

Anisachse

God

Re: MySQL sux

Montag, 4. September 2006, 18:20

hm.
wie wärs wenn du uns auch mitteilst wie deine tabelle aufgebaut ist und wo was drinsteht?
dann könnten wir vielleicht auch helfen.

weil mit arg1-arg12 kann ich persönlich nichts anfangen

kurti_der_neue

Junior Member

Re: MySQL sux

Montag, 4. September 2006, 18:22

arg1-12 sind stich oder schlüsselworte für die bilder. Dann gibt es noch eine id und eine nummer für die firmeninterne verarbeitung, sowie ein feld mit der url zum bild.
Die suchfunktion soll nun die arg-felder durchsuchen und dann alles ander ausspucken

crushcoder

God

Re: MySQL sux

Montag, 4. September 2006, 18:40

arg1-12 sind also felder der tabelle?

ein schlüsselwort ist sowas wie ein tag oder eine metainformation zum identifizieren von bildern mit gleichen inhalten, oder?
(ich benute mal tag weils am kürzesten ist)

es kann vorkommen das das tag "design" bei einem bild in arg1 und bei einem anderen bild in arg10 steht, die suche soll dann bei einer suche nach "design" beide bilder ausgeben?

dann ist das datenbankdesign schonmal schlecht. Da gehört eine zweite tabelle für die tags hin und eine zwischentabelle die die tags mit den bildern verknüpft.
dann führt eine einfache abfrage auf die tag-tabelle zu den ids der bilder mit den tags.

das hat dann auch den charme das man beim einfügen eines bildes die schon eingegebenen tags einfach anzeigen kann und zur auswahl anbieten.

auch komplexere anfragen mit verknüpfungen von tags wären einfach möglich (nicht nur OR, sondern auch AND und XOR zb, oder eine semantische suche).

übrigens habe ich die volltext-suche bei mysql schon benutzt und die hat durchaus funktioniert.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Y0Gi

God

Re: MySQL sux

Montag, 4. September 2006, 19:57

Leider ist die (bessere) Volltextsuche von MySQL (binary etc.) nicht portabel. Vielleicht ist das hier aber uninteressant.

Die Schlüsselwörter sollten natürlich eine eigene Tabelle erhalten, sie stehen ja in einer N:M-Beziehung zu einem Bild.

Wirklich unkommentierte Links zu MySQL-/PHP-/Sonstwas-Dokumentationen habe ich hier nicht gesehen - und die verlinkten Dokumente sind ja auch selbstaussagend, so dass bloßes Lesen einen da schon weiterbringt.