Mailinglisten-Archive |
Hallo Steffen, Steffen Kother wrote: > <code> > $insert = 'INSERT INTO reklamation.verlauf (letzter_bearbeiter, time) > VALUES ("2", '.time().')'; > $insert['query'] = mysql_query($insert, $link) or $insert['error'] = > mysql_error(); > </code> > > Spricht doch erstmal ncihts dagegen, oder? [...] ich meine dagegen spricht eine ganze Menge, nämlich das der Code absolut verwirrend ist. Deine Variable $insert muss für drei Dinge herhalten. 1. $query 2. $result 3. $error Das Du bei diesem Mischmasch ins Stolpern kommst, wundert mich nicht. ;-) Ich würde mich bei solchen Abfragen doch eher an die Muster im Manual halten. Damit kommt dann auch jeder zurecht, auch Du, wenn Du Dir das nach Monaten noch mal ansiehst. Ich mache das so, dass ich die typischen MySQL-Zugriffe in eine separate Funktionssammlung ausgelagert habe, die ich über eine Konfigurationsdatei automatisch einbinde. Damit spare ich mir den meisten Routinecode. Für das Einfügen genügt oft die Übergabe des Tabellennamens und ein Array mit den Werten. Hier mal ein Beispiel: function pb_insert_data($table, $keys, $entries="") { //Falls Daten als Hash kommen if ($entries == "") { $entries = array_values($keys); $keys = array_keys($keys); } $val_str = ""; foreach ($entries as $sg) { $sg= mysql_escape_string($sg); if ($val_str != "") { $val_str .= ', '; } $val_str .= sprintf("'%s'", $sg); } if (is_array($keys)) { $key_str = "(" . join(', ',$keys ) . ")"; } else { $key_str = $keys; } $query = "insert into $table $key_str "; $query .= "values (" . $val_str . ")"; mysql_query($query); if (mysql_error()) { systemerror($query . ' ' . mysql_error(), __LINE__); } return mysql_affected_rows(); } Sicherlich lässt sich da auch noch etwas verbessern, bzw. an eigene Zwecke anpassen. (z.B. könnte die Zeilennummer des Funktionsaufrufs übergeben werden.) systemerror ist ebenfalls eine Funktion aus meinem "Framework", die je nach Umgebung entweder die Fehler direkt ausgibt und das Skript abbricht oder (produktiv) die Fehler in eine Logdatei schreibt, bzw. als E-Mail an mich versendet. Soweit als Anregung. Vielleicht gibt es noch bessere Vorschläge, bzw. Hinweise auf fertige Funktionssammlungen oder Klassen. Würde mich interessieren. Viele Grüße Peter -- http://www.media-palette.de/
php::bar PHP Wiki - Listenarchive