Seven Secrets
Erfahrenes Mitglied
Der Fehler nochmal: TblClass.SqlQuery-You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Die Tremsdorfer Blasmusikanten"" , date = "2007101534" WHERE ne Error-Code: 1064
Die Class dafür:
und hier der Eintrag zum Update in dem Newsadmin:
Ich verstehe hier einfach nicht, wo der Fehler ist und vor allem warum?
Die Class dafür:
PHP:
function Update ($mix_setCol, $mix_setVal, $mix_whereCol = array(), $mix_whereVal = array(), $int_max = -1) {
// Update eines oder mehrerer Datensätze
// Erwartet: - mix_setCol: Array of String oder String, welche Spalten
// aktualisiert werden sollen
// - $mix_setVal: Array of String oder Mix mit den neuen Werten
// - $mix_val: Array oder Mix als Werte für die WHERE-
// Bedingung, Standard ist leer
// - $mix_order: Array of String mit Spalten für ORDER-
// Bedingung (optional)
// - $int_max: Anzanhl der Werte, die maximal upgedatet werden
// sollen
// Liefert: TRUE: Datensätze wurden upgedatet
// FALSE: sonst
// SET-Klausel zusammensetzen
$str_set = $this->_BuildWOS($mix_setCol, $mix_setVal, "=", ", ", "SET");
// Fehlerbehandlung
if ($str_set == false) {
$this->PushError ("TblClass.Update-Set Bedingung konnte nicht erstellt werden.");
return false;
}
// WHERE-Klausel zusammensetzen
$str_where = $this->_BuildWOS ($mix_whereCol, $mix_whereVal);
// Fehlerbehandlung
if ($str_where === false) {
$this->PushError ("TblClass.Update-Where Bedingung konnte nicht erstellt werden.");
return false;
}
// LIMIT-Klausel zusammensetzen
$str_limit = $this->_BuildLimit(0, $int_max);
// SQL-Statement erzeugen
$str_query = 'UPDATE '.$this->str_tbl.''.$str_set.$str_where.$str_limit.';';
// SQL-Anfrage an die DB senden
$mix_query = $this->SqlQuery ($str_query, false, false);
// Fehlerbehandlung
if ($mix_query === false) {
$this->PushError ("TblClass.Update-Query wurde nicht erfolgreich ausgeführt.");
return false;
}
return true;
} // Update /////////////////////////////////////////////////////////////////
function UpdateAssoc ( $arr_set, $mix_where, $int_max = -1, $str_tblname = "" ) {
if($str_tblname){
$str_oldtbl = $this->str_tbl;
$this->SetTable($str_tblname);
}
$arr_cols = $this->SqlQuery ( "SHOW COLUMNS FROM ".$this->str_tbl.";" );
$arr_aset = array();
foreach($arr_cols as $arr_col){
if(isset($arr_set[$arr_col["Field"]]) && ($arr_col["Key"] != "PRI")){
$arr_aset[$arr_col["Field"]] = $arr_set[$arr_col["Field"]];
}
}
if(is_array($mix_where)){
$arr_awhere = array();
foreach($arr_cols as $arr_col){
if(isset($mix_where[$arr_col["Field"]])){
$arr_awhere[$arr_col["Field"]] = $mix_where[$arr_col["Field"]];
}
}
}else{
foreach($arr_cols as $arr_col){
if($arr_col["Key"] == "PRI"){
$arr_awhere[$arr_col["Field"]] = $mix_where;
}
}
}
$this->Update(array_keys($arr_aset), array_values($arr_aset), array_keys($arr_awhere), array_values($arr_awhere), $int_max);
if($str_oldtbl){
$this->SetTable($str_oldtbl);
}
return true;
}
und hier der Eintrag zum Update in dem Newsadmin:
PHP:
function UpdateNews ( $news_id, $arr_news ) {
$this->UpdateAssoc ( $arr_news, $news_id, 1, tbl_news );
return true;
}
/**
* @desc L�scht ein bestehendes Element
* @param $news_id INT identifiziert den zu l�schenden Datensatz
* @return BOOL
*/
Ich verstehe hier einfach nicht, wo der Fehler ist und vor allem warum?