wahsaga: MySQL und preg_replace

Beitrag lesen

hi,

Die Ersetzung funktioniert auch, allerdings wird der in der Funktion showElement("\1") übergebene Parameter \1 (ist eine ID eines Bildes in der DB) nicht in der DB gefunden - obwohl er da ist ... wenn ich in der Funktion manuell WHERE fid = '123' eingebe klappt alles prima ???

dann wende bitte mal die in solchen fällen elementarste debugging-maßnahme an:
lasse dir deinen zusammengesetzten query-string zur kontrolle mit echo ausgeben, und benutze ggf. auch mysql_error().

Habe mit gettype() herausbekommen, dass es ein string ist und keine Zahl.

sollte aber, sofern der inhalt als reine zahl interpretierbar ist, an der stelle kein problem machen.

allerdings solltest du in deiner query auch auf eine zahl abfragen, wenn das datenfeld einen zahlentyp hat:

$element = mysql_fetch_array (mysql_query("SELECT * from cms_files WHERE fid = '".$eid."'",$conn));

lass die einfachen hochkommata um den wert von fid weg, zahlenwerte fragt man mit WHERE zahlenfeld = 4711 ab.

Eine Umwandlung unter WAMPP (Win2000) mit settype() funktioniert nicht ...

ein einfacher type-cast per
(int) $zahlstring
sollte idR. auch ausreichen.

gruß,
wahsaga

--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."