ingobar: Verständnisproblem bei mysql_query und POST

Beitrag lesen

Hallo zusammen,

so jetzt habe ich nur noch eine Frage für heute (das hoffe ich zumindest). Folgendes verstehe ich nicht:

Ich habe folgende php-Datei:

<?php
 include 'inc/inc_config.php';
 $db = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die(mysql_error());
 @mysql_select_db(MYSQL_DATABASE,$db) or die(mysql_error());

$name = $_POST['l_name'];

$insert_user_daten = @mysql_query("INSERT INTO userdata (name) VALUES ($name)");

print_r($insert_user_daten);
?>

Das hat aber nie was eingetragen bis ich folgendes gemacht habe: Ich habe in meinem Input-Field "meinName" mit Anführungszeichen(!!) geschrieben.

Das verstehe ich nicht. Vielleicht hier noch weitere Infos:
Wenn der User auf den Speicher-Button klickt wird folgendes JavaScript gemacht:

var data2send = "l_name="+escape(document.getElementById("l_name").value);
  if (user_ajax_db_anfrage!=null) {
   user_ajax_db_anfrage.open("POST", url, true);
   user_ajax_db_anfrage.onreadystatechange = zeigeBestaetigung;
   user_ajax_db_anfrage.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   user_ajax_db_anfrage.send(data2send);
}

Das Ganze ist eine AJAX-Kontruktion. Bislang habe ich immer GET genommen. Ist das der Grund weswegen ich jetzt auf einmal Anführungszeichen brauche? Oder liegt es an dem setRequestHeader. Den kenne ich so nicht und habe ihn einfach so übernommen (macht man nicht, ich weiß. Ich dachte es hat keine große Auswirkung ;) )