login  Naam:   Wachtwoord: 
Registreer je!
 Forum

zoeken in database script (Opgelost)

Offline arthuro - 25/09/2008 21:19 (laatste wijziging 25/09/2008 21:30)
Avatar van arthuroNieuw lid heb ergens een script gevonden.
heb het aangepast voor mijn database,
maar ik krijg deze fout melding
  1. Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\werkmap\servers\free-advertising\Root\xx.php on line 19
hieronder staat de link naar het script.
Plaatscode: 29781
wie kan mij vertellen wat hier aan fout is.

ik ben een leek wat dit allemaal betreft.
maar als je het stukje database bedoeld, dat weet ik wel
die staat hier onder Plaatscode: 29786

14 antwoorden

Gesponsorde links
Offline Joost - 25/09/2008 21:23 (laatste wijziging 25/09/2008 21:23)
Avatar van Joost PHP expert Je hebt een fout in je query die je fetcht 
Als je even de query post die je gebruikt, kunnen we het beter oplossen 
Je kan zelf ook even or die(mysql_error()); achter de query zetten, dan zie je eventuele foutmeldingen 
Offline arthuro - 25/09/2008 21:44
Avatar van arthuro Nieuw lid als ik de error melding er in doe krijg ik dit te zien
  1. Zoekresultaten
  2.  
  3. Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\werkmap\servers\free-advertising\Root\xx.php on line 19
  4. Unknown column 'amber' in 'where clause'

terwel de naam wel bestaat in de database
Offline Joost - 25/09/2008 21:54
Avatar van Joost PHP expert Kijk goed of je niet een typfoutje of iets dergelijks hebt gemaakt 
Als MySQL zegt dat de kolom niet bestaat bestaat hij ook niet 
Offline Abbas - 25/09/2008 21:58 (laatste wijziging 25/09/2008 21:59)
Avatar van Abbas Gouden medaille

Crew .NET
  1. mysql_connect("localhost","root","NXmrGq6G") or die(mysql_error());
Best om code die je post, te vrijwaren van paswoorden, ook al is het lokaal dat je test! 

  1. $res = mysql_query("SELECT * FROM `a_gebruikers` WHERE `{$_GET['kolom']}` LIKE `{$_GET['trefwoord']}`");

Sinds wanneer komen er accolades rond kolomnamen? Maak er eens dit van:

  1. $res = mysql_query("SELECT * FROM a_gebruikers WHERE '".$_GET['kolom']."' LIKE '".$_GET['trefwoord']."' ");


En als je een foutmelding krijgt dat de kolom "amber" niet bestaat, is dat terecht want ik zie nergens in je structuur een kolom die "amber" heet! 
Offline arthuro - 25/09/2008 22:05 (laatste wijziging 25/09/2008 22:16)
Avatar van arthuro Nieuw lid de fout melding is er nu uit.
maar wat ik niet begrijp is dat de gebruikersnaam amber bestaat in de database.
maar deze wordt niet getoont.
dus doe ik toch nog iets fout.

moet kolom soms row zijn???
Offline jc2 - 25/09/2008 23:36
Avatar van jc2 PHP interesse Ik snap het nu al.

Je database bestaat uit kolommen en rijen.
Een WHERE-clause is altijd zo:
Citaat:
WHERE `kolom` = 'inhoud rij voor deze kolom'

of zoals in jouw geval:
Citaat:
WHERE `kolom` LIKE 'inhoud rij voor deze kolom'


Jouw database heeft "amber" niet als inhoud van een kolom gezien, maar als een kolom zelf.
Dit komt denk ik omdat jouw where-clausule er zo uitzag:
Citaat:
WHERE `kolom` LIKE `inhoud rij voor deze kolom`

Let op het kleine verschil in accentgebruik.
Een kolom staat altijd tussen `kolom`.
Een inhoud van een kolom altijd tussen 'inhoud'.
Veel succes nog!
Offline Abbas - 25/09/2008 23:40
Avatar van Abbas Gouden medaille

Crew .NET
Een kolom moet niet per se tussen die schuine single quotes staan! De query die ik hem als oplossing gaf is evengoed juist! 
Offline vinTage - 26/09/2008 00:05
Avatar van vinTage Nieuw lid sidenote:

Die "schuine single quotes" heten backtics en zijn in mijn ogen een smokkelmiddel om "door mysql gereserveerde woorden" te kunnen misbruiken.

eg:
SELECT * FROM `FROM` where.... <= werkt, maar is wel knullig natuurlijk
Offline Kr4nKz1n - 26/09/2008 08:42
Avatar van Kr4nKz1n Onbekend Kvind het sowieso echt lelijk al die backtics.

Gewoon niet gebruiken 
Offline arthuro - 26/09/2008 16:15 (laatste wijziging 26/09/2008 16:35)
Avatar van arthuro Nieuw lid nog een hij moet bvb zoeken in de kolom gebruikersnaam, naar de naam amber.

dus hoe pas ik dan deze regel aan
  1. $res = mysql_query("SELECT * FROM a_gebruikers WHERE '".$_GET['kolom']."' LIKE '".$_GET['trefwoord']."' ");
dit is een stukje van de database inhoud.database voorbeeld
Offline Giant - 26/09/2008 20:30
Avatar van Giant PHP beginner
  1. $res = mysql_query("SELECT * FROM a_gebruikers WHERE ".$_GET['kolom']." LIKE '%".$_GET['trefwoord']."%' ");


Zo moet het werken 
Offline arthuro - 26/09/2008 21:16
Avatar van arthuro Nieuw lid ja het werkt.
alleen op regel 23 van het script hoort die de uit komst te geven.
maar hij echo alleen maar [$row->gebruikersnaam]
en niet bvb de naam die ik zoek.
Offline Giant - 26/09/2008 21:18
Avatar van Giant PHP beginner
  1. echo '<tr>
  2. <td>$row->gebruikersnaam</td>
  3. </tr>';

tussen de single quotes zal php niet uitgevoerd worden
  1. echo '<tr>
  2. <td>'.$row->gebruikersnaam.'</td>
  3. </tr>';

Zo zal php weergeven wat jij wil 
Offline arthuro - 26/09/2008 21:31
Avatar van arthuro Nieuw lid ja nu is die goed, ga de uitkomst koppelen aan de profiel pagina.

bedankt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.253s