Toon posts:

[php/mysql] probleem: selecten met &

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo!

De volgende query gaat fout:

SELECT * FROM lyrics WHERE artist = "Aguilera,Lil'Kim,Mya&Pink"

en de rede dat het fout gaat is door die &...
die staat namelijk in de database niet als & maar aan de HTML waarde van &..

weet iemand een oplossing hoe ik het SELECTen wel goed kan laten gaan..

eerst htmlspecialchars() gebruiken lukte ook niet

Verwijderd

gebruik ' en "

  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

Skill is when luck becomes a habit.


Verwijderd

Topicstarter
hier schiet ik nix mee op.. :(

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
Op woensdag 28 november 2001 21:22 schreef _Assassinator_ het volgende:
hier schiet ik nix mee op.. :(
Niet?? waarom niet dan?

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op woensdag 28 november 2001 19:13 schreef _Assassinator_ het volgende:
SELECT * FROM lyrics WHERE artist = "Aguilera,Lil'Kim,Mya&Pink"
In SQL hoor je single quotes te gebruiken rond strings. Maar dat terzijde.
weet iemand een oplossing hoe ik het SELECTen wel goed kan laten gaan..

eerst htmlspecialchars() gebruiken lukte ook niet
Laat de code waarmee dat niet lukte eens zien.

Verwijderd

Topicstarter
de fout ligt niet in de query

maar ik heb dus de var $artist..
die is dus in het geval van Aguilera,Lil'Kim,Mya&Pink gelijk aan: Aguilera,Lil'Kim,Mya&Pink

maar als ik dan een query ga doen:

SELECT * FROM lyrics WHERE artist = '$artist' (in php dus)

dan krijg ik die ene niet! en ik weet dus niet hoe dat komt..
maar er gaat dus toch iets mis..

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
als je het op die manier doet lijkt het mij dat je een mooie error ziet komen omdat je artist = '$artist' doet maar in $artist zit ook een '
dan sluit hij hem dus af , en hou je een stukkie tekst over in die query (kweet niet hoe ik het precies kan uitleggen)

met addslashes verkom je dat, (zie post van _eek_)

Verwijderd

Topicstarter
Op woensdag 28 november 2001 21:47 schreef razor-x het volgende:
als je het op die manier doet lijkt het mij dat je een mooie error ziet komen omdat je artist = '$artist' doet maar in $artist zit ook een '
dan sluit hij hem dus af , en hou je een stukkie tekst over in die query (kweet niet hoe ik het precies kan uitleggen)

met addslashes verkom je dat, (zie post van _eek_)
met addslashes werkt het alsnog niet ....

Verwijderd

Topicstarter
ok ik heb de query ff laten echoen en ik zie het probleem..

dit wordt de query:


SELECT id, title FROM lyrics WHERE artist = 'Aguilera,Lil\'Kim,Mya' AND status = '1' ORDER BY title


dus na vanaf die & teken kapt ie de string ARTIST af..!
dus daar gaat het fout!!!

hoe los ik dit dan op?

Verwijderd

Topicstarter
k problem solved door gewoon dit te doen:


$artist = str_replace("&", "%26", $artist);


maar nu maar hopen dat dit probleem er alleen is met het & teken :)

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op woensdag 28 november 2001 22:19 schreef _Assassinator_ het volgende:
k problem solved door gewoon dit te doen:


$artist = str_replace("&", "%26", $artist);
Dan was de omschrijving van je probleem dus gewoon fout.
die staat namelijk in de database niet als & maar aan de HTML waarde van &..
& is HTML, %26 heeft niks met HTML te maken.

Verwijderd

Topicstarter
ok je zult vast wel gelijk hebben :)
Pagina: 1