Mailinglisten-Archive |
Yannik Hampe schrieb: > Hans Egg wrote: > >> Hallo Lars >> >> LB BL schrieb >> >> >>> folgende funktionen werden dabei durchlaufen bevor die >>> bilddaten (hier: $value) in den sql befehl eingebaut werden: >>> >>> $value = trim($value); >>> if (get_magic_quotes_gpc()) >>> $value = stripslashes($value); >>> $value = mysql_real_escape_string($value); >>> > > Und wo ist das INSERT, bzw. das UPDATE? Da solltest du noch mitposten... > > Außerdem habe ich es so verstanden, dass dein $value bereits aus der > Datenbank kommt?! Dann müsstest du nicht auf magic_quotes_gpc testen, > sondern auf get_magic_quotes_runtime(). > hi yannik, also du hast das richtig verstanden. $value kommt aus der db. der code-ausschnitt bezieht is halt aus der standard-escape funktion die ich verwende. magic_quotes_runtime ist in der php.ini auf off gestellt. daran dürfte es ja dann nicht liegen? und es tritt nur beim zweiten einlesen derselben daten auf, also die daten die ausgelesen wurden in die klasse und dann zum 2. mal in die db geschrieben werden. die applikation arbeitet in utf-8. in $this->logo_normal und $this->logo_small liegen die daten die erst über einen select aus der db ausgelesen werden... #### $sql = "SELECT * FROM {$this->t_company} a LEFT JOIN {$this->t_company_type} b ON a.company_type_id = b.company_type_id WHERE a.company_id = '{$this->dbManager->secureParam($companyId)}'"; $q = mysql_query($sql, $this->dbManager->getConnection()); if($q === false) { [...] } else { $r = mysql_fetch_assoc($q); if(!empty($r)) { $company = new Company(); $company->setId($r['company_id']); [...] $company->setLogoNormal($r['company_logo_normal']); $company->setLogoSmall($r['company_logo_small']); [...] $result = $company; } } #### ...und dann beim einem update (hier auch wenn sie nicht verändert wurden) via replace wieder geschrieben: #### [...] $sql = "REPLACE INTO ".$this->t_company." ( company_id, [...] company_logo_normal, company_logo_small ) VALUES ( '{$this->dbManager->secureParam($this->id)}', [...] '{$this->dbManager->secureParam($this->logo_normal)}', '{$this->dbManager->secureParam($this->logo_small)}' )" [...] #### $this->secureParam() escaped wie ich es bereits geschrieben hatte. >> Du wendest String-Funktionen auf binäre Daten an!(?) >> > > Strings SIND binäre Daten! > > >> Gruß, Hans >> > > > Yannik >
php::bar PHP Wiki - Listenarchive