ugrás a tartalomhoz

Pontosvessző karakter cseréje SQL lekérdezésben

TIV · 2007. Szep. 18. (K), 17.24
Üdv!

Szeretnék LIKE "%vmi%" lekérdezést csinálni, csak a vmi helyett egy pontosvessző ; kellene, hogy álljon. Na ez nem megy. se \; -vel. még phpmyadmin se tud rákeresni..:S Gondolom ott lezárja a lekérdezést ahol megtalálja a ;-ot.

amúgy egy adott oszlopban, a   -t kellene kicserélni normális helyközre " ". viszont az update "parancsnál" is megállt ; -nél, sikeresen kinullázva 3500 termékleírást egy webáruházban :D

Előre is köszönöm az ötleteket!
 
1

Miféle verziójú MySQL?

virág · 2007. Szep. 19. (Sze), 07.12
Szia,

nekem a következő parancs:

SELECT * 
FROM `akarmi` 
WHERE `cim` LIKE CONVERT( _utf8 '%;%'
USING latin2 ) 
COLLATE latin2_general_ci
LIMIT 0 , 30 
sikeresen visszaadta azokat a sorokat ahol pontosvessző volt a címben. Ezt az SQL-t a phpmyadmin generálta. A MySQL verziója 4.1.22 -volt.

SELECT * 
FROM `akarmi` 
WHERE `cim` LIKE CONVERT( _utf8 '% %'
USING latin2 ) 
COLLATE latin2_general_ci
LIMIT 0 , 30 
ez is jól futott le.
2

köszönet

TIV · 2007. Szep. 19. (Sze), 11.32
köszönet, ki fogom próbálni.
3

hasonló probléma

bence192 · 2009. Júl. 23. (Cs), 20.08
Sziasztok nekem az a problémám hogy egy képfeltöltő programban a képek nevét és adatait mysql bázisban tárolom és amikor a kép beillesztésére kerülne a sor a kép nevében lévő "space" karaktererk miatt nem tudom beilleszteni ezt szeretném kikerülni azzal hogy a feltöltéskor a kép nevében lévő szóközöket szeretném kicserélni _ alsó vonal karakterre..

körülbelöl erről lenne szó tudnátok segíteni hogyan lehet kicserélni karaktereket?

előre is kösz mindenkinek!
4

PHP oldalon lenne érdemes,

Poetro · 2009. Júl. 23. (Cs), 20.22
PHP oldalon lenne érdemes, amennyiben azt használsz, már a move_uploaded_file-ban.
str_replace, preg_replace

MySQL oldalon a REPLACE függvényt lehet használni.

a kép beillesztésére kerülne a sor a kép nevében lévő "space" karaktererk miatt nem tudom beilleszteni

Mit nem tudsz, hova beilleszteni?
5

space

bence192 · 2009. Júl. 27. (H), 18.52
tehát amikor a képet beilleszeném a a lapomba <img src=$kep width=...>
és oda a kép nevéhez ugye a mysqlből vett $kep változót hasznámlom és ez a változó hozza le a kép elérési útját itt nem jelenik meg a kép gondolom és a kép nevében lévő ékezetes betűk avgy space karakterek miat..
és a str_replace
parancsot hogyan tudom úgy alkalmazni hogy az összes ékezetes betőt és space karaktereket kiktassam vele..

valahogy így
$szoveg = str_replace(" ","_",$szoveg);
és akkor elvileg a " " spacet cseréli le "_"
alsó vonalra ha jól értelmeztem a manualt és ezt többszörözzem...
6

Mentés

Poetro · 2009. Júl. 27. (H), 19.40
Ha a képet eleve úgy mented le, hogy space van a nevében, akkor már nem jó ha _-sal hivatkozol rá, elvégre a fájl nem ilyen néven létezik.
Amennyiben már space-szel menteted le a fájlnevet, akkor megfelelően kell escapelni a megjelenítéskor.
urlencode($kep_neve)
7

idézőjel?

QXY · 2009. Júl. 27. (H), 21.39
<img src="kep neve szóközökkel" ...>

Talán nem ártana idézőjelbe tenni az értékeket!

Ettől függetlenül én is azt javaslom hogy tárolás _előtt_ alakítsd át a nevet: ékezetes karakterek cseréje ékezet nélkülire + szóköz cseréje aláhúzásra.
8

megoldás

bence192 · 2009. Júl. 31. (P), 19.02
min a két tanács nagyon jó !
csinálok egy scriptet ami pont ezt csinálja és bárhova be lehet includeolni hogy kicserélni az ékezetes és space karaktereket..
még a feltöltés elé be is rakom hogy ár úgy mentse és nem lesz gond a beillesztésnél sem!
köszönet mindenkinek a seítségekért!