Unknown column 'Budapest' in 'field list'
Sziasztok,
van egy array-em,
$invoiceAddress = array("city" => "Budapest", "ZIP" => "1231" , "nameofaddress" => "Tokoli");
aminek a tartalmát be szeretném küldeni a DB-be. Így oldottam meg:
$query="INSERT INTO address (ID, ".implode(',',array_keys($invoiceAddress)).") VALUES ('$this->ID', ".implode(',',array_values($invoiceAddress)).")";
A DB-ben az oszlopok nevei egy az egyben egyeznek az array key-vel. Ezt a hibát kapom rá:
Unknown column 'Budapest' in 'field list'.
Kérdésem, hogy valami szintaktikai hiba van benne, vagy inkább valami elvi hiba? Mi a jó megoldás?
Csoma
■ van egy array-em,
$invoiceAddress = array("city" => "Budapest", "ZIP" => "1231" , "nameofaddress" => "Tokoli");
aminek a tartalmát be szeretném küldeni a DB-be. Így oldottam meg:
$query="INSERT INTO address (ID, ".implode(',',array_keys($invoiceAddress)).") VALUES ('$this->ID', ".implode(',',array_values($invoiceAddress)).")";
A DB-ben az oszlopok nevei egy az egyben egyeznek az array key-vel. Ezt a hibát kapom rá:
Unknown column 'Budapest' in 'field list'.
Kérdésem, hogy valami szintaktikai hiba van benne, vagy inkább valami elvi hiba? Mi a jó megoldás?
Csoma
escape, string
Így hirtelen
(A több programsor sok esetben egyáltalán nem jelent hosszabb futásidőt, viszont átláthatóbb.)
A
$query
értékét ha kiíratod, mi van benne?Feltételezem, hogy a
VALUES
listában kellene lennie '-oknak, de nincs.az ok
Az ok az, hogy a Budapest sztring nincs idézőjelben, ezért mezőnévnek gondolja a mysql.
Na ez már
implode
-ot nyugodtan csinálhatnád külön egy változóba, stb.Igen, escape-elni ettől még kell, de azt is könnyebb lenne, ha csinálsz előbb egy
$values
tömböt a megfelelő ('"`) jelekkel együtt, és ezt escape-elve szúrod be a query-be.Szerk.:
Bocsánat! Azt hittem te vagy a kiinduló kérdező, aszerint fogalmaztam.
Bocsánat! Azt hittem te vagy
Off: Ott már jártam...
GreaseMonkey
Explorerhez a Trixiet
Közel kizárólag Firefox+Greasemonkey számára írtam a szkripteket, némelyre ránéztem Chrome+Tampermonkey alatt is. Tulajdonképpen működnek, de a CSS-ből kispórolt -webkit- vendor prefixek miatt általában csúnyák. (Bár a formatervezési képességeim miatt ezt inkább előnyként kellene említeni.)
Igény esetén kész volnék figyelmet szentelni a Chrome és Opera kompatibilitásra. (Nem tudom a userscripts.org „Installed 156 times.” adata tényleg érdeklődésből vagy ostoba botok tevékenységéből származik. Persze lehet a valóságban uninstalled 155 times is tartozna hozzá, de azt ők már nem tudják mérni.)
Opera