Auge: Daten in datenbankschreiben

Beitrag lesen

Hallo

Du hast ja nun schon diverse Hinweise bekommen. Sowohl, was das Umkopieren der Variablen betrifft, als auch das Einschließen der Variablen in Anführungszeichen und schlussendlich das kontextgerechte Maskieren der Variablen(inhalte).

Von mir noch ein Tip, der meiner Meinung nach die Lesbarkeit des Queries erhöht und sich zudem von seinem Aufbau her leichter merken lässt.

//Daten in die Datenbank schreiben
mysql_query ("INSERT INTO accounts (login, password, email, flags, forceLanguage") VALUES
('$accname', '$passwd', '$email', '34', 'de');", $verbindung";

Es gibt eine Syntax für INSERT, die der Syntax von UPDATE entspricht. ich halte sie für besser lesbar, weil die Feldnamen und die Feldwerte direkt beieinander stehen.

INSERT INTO accounts SET  
login = 'name',  
password = 'passwort',  
email = 'email@example.com',  
flags = '34',  
forceLanguage = 'de'

In PHP könnte das so aussehen:

// Zuerst die übergebenen Werte prüfen und Verbindung zur DB aufbauen.  
  
// Query zusammenbauen  
$query = "INSERT INTO accounts SET  
login = '".mysql_real_escape_string($_POST['accname'])."',  
password = '".mysql_real_escape_string($_POST['passwd'])."',  
email = '".mysql_real_escape_string($_POST['email'])."',  
flags = '34',  
forceLanguage = 'de'";  
  
// Query absetzen  
$ergebnis = mysql_query($query, $verbindung);  
  
// weiter im Text ...

Ob du den Query nun mit dedlfix' Muster zusammenbaust, oder, wie es hier geschieht, als Stringverkettung, ist dabei egal.

Tschö, Auge

--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
Veranstaltungsdatenbank Vdb 0.3