Hallo Leute,
für die Aktualierung eines Eintrags in einer Datenbank möchte ich einen query dynamisch erstellen. In meiner db class habe ich eine Funktion "updateEntry" die wie folgt aussieht.
Das zu übergebene Array könnte wie folgt aussehen:
Solange ich keine leeren Felder übergebe funktioniert die Funktion auch einwandfrei und ich erhalte z.B. folgenden query:
... SET name = 'Hans', nachname = 'Dosenkohl', u.s.w. = 'u.s.f.'
Wenn nun aber im Array ein leeres Feld enthalten ist (z.B. nachname = '') funktioniert die nect(array) Abfrage nicht und gibt FALSE zurück obwohl nocht Schlüssel - Felder Paare vorhanden sind.
Somit wird hinter den Eintrag keine Komma gesetzt und ich erhalte eine MySql Fehlermeldung.
Kennt jemand von euch einen anderen (besseren) Weg, um diese Problem zu beheben?
Vielen Dank im Voraus
für die Aktualierung eines Eintrags in einer Datenbank möchte ich einen query dynamisch erstellen. In meiner db class habe ich eine Funktion "updateEntry" die wie folgt aussieht.
PHP Code:
function updateEntry($update_assocArray,$where_str){
$err_prefix = $this->ERR_PREFIX."updateEntry(".var_export($update_assocArray, TRUE).",".$where_str.")";
$query = "UPDATE ".$this->table." SET ";
foreach($update_assocArray as $key => $value){
$query.= $key."='".$value."'";
if (next($update_assocArray) == true) {
$query.=", ";
}
}
$query.= " WHERE $where_str";
$result = $this->newQuery($query,$err_prefix);
$entries = $this->num_rows;
return $entries;
}
PHP Code:
$update = array('name' => 'Hans', 'nachname' => 'Doesenkohl', 'u.s.w.' => 'u.s.f.');
$sql->updateEntry($update, $where);
... SET name = 'Hans', nachname = 'Dosenkohl', u.s.w. = 'u.s.f.'
Wenn nun aber im Array ein leeres Feld enthalten ist (z.B. nachname = '') funktioniert die nect(array) Abfrage nicht und gibt FALSE zurück obwohl nocht Schlüssel - Felder Paare vorhanden sind.
Somit wird hinter den Eintrag keine Komma gesetzt und ich erhalte eine MySql Fehlermeldung.
Kennt jemand von euch einen anderen (besseren) Weg, um diese Problem zu beheben?
Vielen Dank im Voraus
Comment