Seite 1 von 1

bug class.genericdb.php

Verfasst: Sa 11. Nov 2006, 12:37
von emergence
in function deleteWhere

findet sich

Code: Alles auswählen

			if ($this->_where["global"][$field]["operator"] == $operator && $this->_where["global"][$field]["restriction"] = $restriction)
da fehlt ein =

also so

Code: Alles auswählen

			if ($this->_where["global"][$field]["operator"] == $operator && $this->_where["global"][$field]["restriction"] == $restriction)

Verfasst: Sa 11. Nov 2006, 12:38
von emergence
das selbe bei function deleteWhereGroup zu finden

Verfasst: Sa 25. Nov 2006, 16:17
von emergence
auf noch was blödes draufgenagelt...

class Item -> function store()

da gibts

Code: Alles auswählen

		foreach ($this->modifiedValues as $key => $value)
		{
			if ($first == true)
			{
				$sql .= "$key = '".$this->values[$key]."'";
				$first = false;
			} else
			{
				$sql .= ", $key = '".$this->values[$key]."'";
			}
		}
das hat bei mir nun ein fehler verursacht da ich ein db feld für $key hatte das als sql anweisung misinterpretiert wurde...

zuerst bin ich das ganze umgangen in dem ich etwas wie das hier verwendet habe

Code: Alles auswählen

            $oTEST_Object_Check_Item->set("`".$key."`", $value, true);
dies hat aber nach dem aufruf von store zu folge das der value und lastModified array des objekts diese keys ebenso mit ` aufweist...

in der db wird es aber richtig gesichert...

somit...

änderung in der store methode

Code: Alles auswählen

		foreach ($this->modifiedValues as $key => $value)
		{
			if ($first == true)
			{
				$sql .= "`$key` = '".$this->values[$key]."'";
				$first = false;
			} else
			{
				$sql .= ", `$key` = '".$this->values[$key]."'";
			}
		}
und man kann ruhigen gewissens etwas wie das hier verwenden

Code: Alles auswählen

            $oTEST_Object_Check_Item->set($key, $value, true);

Verfasst: Di 5. Jun 2007, 23:47
von HerrB
Checkin.

Gruß
HerrB

backtick nicht generic

Verfasst: Do 7. Jun 2007, 10:32
von knb
Das mit dem Backtick ist doch mysql-Proprietär , nicht wahr?
Diese Änderungen machen den Code doch weniger "generic" ?

(Meinetwegen kann der geänderte Code auch so bleiben, da wohl niemand was anderes als das mysql DBMS als Datastore für Contenido benutzt.)

Verfasst: Do 7. Jun 2007, 15:59
von HerrB
Na ja, es ist ja geplant, noch einen DB-Abstraktionslayer dazwischenzulegen. Die genericdb ist - trotz des Namens - nicht dieser Layer.

Wenn also der Layer eingezogen wird, muss sowieso jeder Bereich angefasst werden, das fällt dann nicht mehr auf...

Gruß
HerrB

Verfasst: So 24. Jun 2007, 18:31
von HerrB
Done.

Gruß
HerrB