ugrás a tartalomhoz

mysql_result field case insentive? mysql_result mezőnév nem kisbetű nagybetű érzékeny?

randomly · 2013. Jan. 25. (P), 01.21
Sziasztok!

Ma legeltem egy kicsit. Elkövettem azt a hibát hogy a mysql táblában is van egy olyan nevű oszlopom mint amit álnévként is használók csak a kezdőbetű a táblában nagybetűs. És a táblában az Aktuális_ár bruttó, az álnévnél az aktuális_ár nettó ezért nem mindegy melyiket kapom eredménynek.

Tehát ez normális működés?

$eredmeny = mysql_query("SELECT *, IF(`Nettó_akciós_ár`>0,`Nettó_akciós_ár`,`Nettó_ár`) AS `aktuális_ár` FROM `Termékek`")

És erre a $ar = mysql_result($eredmeny, 0 'aktualis_ar') nem az álnév értékét adja vissza hanem a `Termékek`.`Aktuális_ár` értékét.

Az alábbi úgy működik ahogy vártam.

while ($rekord = mysql_fetch_object($eredmeny)) {
echo $rekord->aktuális_ár;
echo $rekord->Aktuális_ár;
}

Köszi a választ előre is. :-)
 
1

Hasonlóval találkoztam

Hidvégi Gábor · 2013. Jan. 25. (P), 09.25
Hasonlóval találkoztam Postgresql-ben tegnap este, az pl. a mezőneveket a visszaadott tömbben kisbetűssé konvertálja (vagy belsőleg eleve így kezeli). Szerintem itt is ez lehet, bár nem találtam rá utalást a mysql dokumentációjában. Esetleg próbáld meg azt, hogy a SELECT-ben a * elé rakod az IF-et.
2

Ha tudom hogy ilyen

randomly · 2013. Jan. 25. (P), 11.30
Ha tudom hogy ilyen (dokumentált) akkor odafigyelek a nevekre. De így sajnos 2-3 órát legeltettem magam vele mire leesett hogy nem-e ez lehet.
3

20xx

Hidvégi Gábor · 2013. Jan. 25. (P), 12.03
Egyelőre még csak a 21. században vagyunk, ezt ne feledd! Fájlnevekben, adatbázisokban, programozásban nem érdemes ékezetes karaktert használni, mert csak gond lesz belőle. SQL-ben egyébként - elvileg - csak akkor kell a mező- és táblaneveket literálként használni (azaz köréjük ` jelet tenni - MySQL-ben, máshol "), ha azok SQL fenntartott szavak, pl. group, index és így tovább.