Unknown column in field list

Godstyle

Erfahrenes Mitglied
Moin Leute,


ich fühle mich grade irgendwie ein wenig verar...t.

Sry aber ich habe jetzt bishierhin alles geschafft was ich wollte und komme nun an einen mir unerklärlichen Fehler.

Das PHP script zum ändern der Daten:

PHP:
<?php
	session_start();
	error_reporting(E_ALL);
ini_set('display_errors', 1);
	include('../../includes/db.inc.php');

$teile = explode(".", $_POST['s']);

$kat = trim($teile[0]); 
$wert = $teile[1];

echo $kat . "<br />"; # kat = vorname
echo $wert ;    # wert = meine eingabe

$aendern = "UPDATE ow_user_data
				Set 
				$kat = $wert
				WHERE userid  = '".$_SESSION["usid"]."'";
$update = mysql_query($aendern)or die(mysql_error());
?>

die Daten werden via ajax an diese Datei gegeben und laut echo ausgabe sind diese sogar korrekt.

Nun möchte ich die Daten in der DB ändern und erhalte den Fehler Unknown column in field list. Er nimmt jedoch anstelle von $kat jedesmal den $wert wert.

Im grunde ist es meienr auffassung nach so richtig und ich habe einfach dreist im Update kat und wert getauscht, und er blieb bei $wert für $kat.

Ich hab keine Ahnung was er von mir will derzeit.


lg


EDIT// meine exakte ausgabe der Meldung:
vorname
Chucky2Unknown column 'Chucky2' in 'field list'

daran ist zu erkennen, das er für $kat auch vorname hat und $wert Chucky2 ist also so wie es sein sollte.
 
Zuletzt bearbeitet:
Die Meldung besagt, dass die Spalte die Du versuchst anzusprechen nicht existiert. Wenn Du also "vorname" übergibst, muss auch "vorname" in exakt dieser Schreibweise existieren.

Zur Absicherung des Statements würde ich dir jedoch folgende Überarbeitung empfehlen:

PHP:
$aendern = "UPDATE ow_user_data
                SET 
                `".$kat."`  = '".mysql_escape_string($wert)."'
                WHERE userid  = '".$_SESSION["usid"]."'";

Und lass dir auch mal das erzeugte Statement $aendern ausgeben und führe es exakt so wie Du es angezeigt bekommst per phpmyadmin aus.
 
zunächst einmal danke, die prüfung habe ich derzeit noch nicht dahinter was auch bewusst gemacht wurde um Mögliche Fehler auszuschliesen.

In meinem Beispiel sucht er nach Chuxky2 dies existiert als Spalte nicht da er nach vorname suchen soll und diese existiert auch in dieser Schreibweise zu 100%
 
Du musst $wert aber wie in meinem Beispiel geschrieben auch von einfachen Anführungszeichen umgeben, da "Chuxky2" ja kein Spaltenname sondern der Wert für eine Spalte sein soll.
 
Zurück