[PHP/MySQL] query geeft een foutmelding

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:03

The.Terminator

Un boer met bier

Topicstarter
Heb een site die gebruikt maakt van PHP + MySQL.

Nu wil ik een search query doen, maar ik krijg steeds een foutmelding

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/sitename/public_html/cdvd/us/searchitem.php on line 228
Title Genre Region Disc Username

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/sitename/public_html/cdvd/us/searchitem.php on line 239

Heb even een plaatje geplaats van de database + de query

Afbeeldingslocatie: http://www.rip-productions.ws/cdvd/cdvd.jpg

$querysearch = "SELECT * FROM user, cdvdgenre, cdvd LEFT JOIN cdvd ON cdvd.userid=user.userid WHERE cdvd.title LIKE '%$keyword%' OR cdvd.description LIKE '%$keyword%'";

Ik wil nl zoeken in CDVD op titel en / of description waarbij de gebruikersnaam en genre wordt weergegeven die bij het resultaat horen. Dus ipv dat ik alleen in cdvd zoek op titel en / of description waardoor ik dus het userid en genreid krijg te zien wil ik graag hebben dat de username en genre erbij "gematched" worden.

[ Voor 4% gewijzigd door The.Terminator op 15-03-2004 12:23 ]


Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 21:37

mulder

ik spuug op het trottoir

moet je die CDVDGerne ook niet joinen?

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Zorg dat je de foumelding die mysql geeft even weergeeft: mysql_error(). Dan weet je binnen no time wat er aan de hand is.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Je bent shorthard joins en explicit joins aan het mixen en maakt er een enorme troep van.

Implicit join:
SQL:
1
select * from User, Session where User.UserId = Session.UserId;


Explicit join:
SQL:
1
select * from User join Session on User.UserId = Session.UserId;


Kies 1 van de methodes (preferably de 2e) en stick to it: met je huidige query probeer je tabel 'cdvd' 2 keer binnen te joinen. In de implicit join heb je trouwens alleen inner joins, dus voor de gevraagde left join moet je sowieso explicit syntax gebruiken. <!-- en zodra je het zelf ook een beetje snapt uncomment ik dit stukje wel:
SQL:
1
2
3
4
5
SELECT titel, username, genre FROM CDVD
  JOIN CDVDGenre ON CDVD.genreid = CDVDGenre.genreid
  JOIN User ON User.userid = CDVD.userid
  WHERE CDVD.description LIKE '%$keyword%'
     OR CDVD.title LIKE '%$keyword%';
:P-->

[ Voor 23% gewijzigd door curry684 op 15-03-2004 12:55 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:03

The.Terminator

Un boer met bier

Topicstarter
Dit is de foutmelding die ik krijg

Not unique table/alias: 'cdvd'

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

The.Terminator schreef op 15 maart 2004 @ 12:54:
Dit is de foutmelding die ik krijg

Not unique table/alias: 'cdvd'
Dat zeg ik, je joint 'm twee keer binnen. Wellicht even tijd voor een SQL tutorial? ;) www.sqlcourse.com = best goed d:)b

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:03

The.Terminator

Un boer met bier

Topicstarter
curry684 schreef op 15 maart 2004 @ 12:57:
[...]

Dat zeg ik, je joint 'm twee keer binnen. Wellicht even tijd voor een SQL tutorial? ;) www.sqlcourse.com = best goed d:)b
Hehe, ik denk dat zon cursus wel heel nodig aangezien ik die query ook nog eens niet gemaakt heb :)

Me is SQL newbie :P

Maar voor deze ene keer zouden jullie de volledige query neer willen poten ?

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

The.Terminator schreef op 15 maart 2004 @ 14:27:
[...]
Maar voor deze ene keer zouden jullie de volledige query neer willen poten ?
GoT is geen helpdesk :) Met http://sqlcourse2.com/joins.html kom je er toch wel uit neem ik aan?

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Lees ook de JOIN FAQ even door.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

offtopic:
Nope, want bij GoT krijg je in tegenstelling tot de meeste helpdesks wel antwoord... :P


Wat is er trouwens mis met implicit en explicit joins mixen? Ik zelf vind implicit joins makkelijker om te lezen omdat je niet met allerlei haken moet gaan werken. En als ik dan een right join oid nodig heb, dan komt die er gewoon bij. Als je het goed doet werkt het gewoon, dus wat is het probleem als je weet wat je doet? :Y)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

NMe84 schreef op 15 maart 2004 @ 15:27:
[...]

Wat is er trouwens mis met implicit en explicit joins mixen? Ik zelf vind implicit joins makkelijker om te lezen omdat je niet met allerlei haken moet gaan werken. En als ik dan een right join oid nodig heb, dan komt die er gewoon bij. Als je het goed doet werkt het gewoon, dus wat is het probleem als je weet wat je doet? :Y)
O-)

En ik mix zelf de stijlen niet uit voorkeur en maintainability. Extreem simpele queries gaan classic style, maar zodra er meer dan 2 tabellen in komen ga ik op de explicit joins over. En als je wellicht niet helemaal weet wat je doet is het imho helemaal advisabel om het bij 1 methode tegelijk te houden :P

offtopic:
je icon geeft trouwens een 404 hier

[ Voor 3% gewijzigd door curry684 op 15-03-2004 15:31 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

curry684 schreef op 15 maart 2004 @ 15:30:
En ik mix zelf de stijlen niet uit voorkeur en maintainability. Extreem simpele queries gaan classic style, maar zodra er meer dan 2 tabellen in komen ga ik op de explicit joins over. En als je wellicht niet helemaal weet wat je doet is het imho helemaal advisabel om het bij 1 methode tegelijk te houden :P
Mjah true. Persoonlijk blijf ik toch gaan voor leesbaarheid. Ik acht mezelf wel in staat om te weten wat ik doe. B)
offtopic:
je icon geeft trouwens een 404 hier
offtopic:
Hmmz...vaagjes.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1