sap: SQL Abfrage funktioniert nicht richtig

Hi,
ich habe ein Formular und eine Funktion in PHP erstellt, die bei Abfrage einer Tablle mit einem SQL Befehls eine Tabelle im Browser erstellt.
Die Tabelle hat die Spalten UserID, Vname, Nname, Passwort, Username.
Es funktioniert aber noch nicht ganz richtig undzwar liegt das Problem an der Abfrage.
Wenn ich jetzt nach dem Usernamen frage mache ich das so "Select Username from tbluser ". Dann zeigt er mir die Tabelle ohne Probleme an und auch richtig.
Wenn ich jedoch bei der Abfrage Username klein schreibe "Select username from tbluser " zeigt er nichts an.
Ich muss immer die Spaltennamen richtig schreiben und auch immer nur beim Select.
Was muss ich machen, dass die groß und klein schreibung in der Abfrage nach dem select egal ist.

  
function sql2tbl ()  
{  
	if($verbunden = 1)  
	{  
  		$befehl = $_POST['textfeld'];  
		$ok = mysql_query($befehl) OR die ("Fehler bei der SQL Abfrage:<br/ >");  
		  
		while($ausgabe = mysql_fetch_object($ok))  
		{  
			$ausgabe->UserID;  
			$ausgabe->Vname;  
			$ausgabe->Nname;  
			$ausgabe->Passwort;  
			$ausgabe->Username;  
			  
			echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"1\">";  
			echo "<tr>";  
			if($ausgabe->UserID){echo "<td width=\"110\" bgcolor=\"#E2E2E2\">UserID: </td>";}  
			if($ausgabe->Vname){echo "<td width=\"110\" bgcolor=\"#E2E2E2\">Vorname: </td>";}  
			if($ausgabe->Nname){echo "<td width=\"110\" bgcolor=\"#E2E2E2\">Nachname: </td>";}  
			if($ausgabe->Passwort){echo "<td width=\"110\" bgcolor=\"#E2E2E2\">Passwort: </td>";}  
			if($ausgabe->Username){echo "<td width=\"110\" bgcolor=\"#E2E2E2\">Username: </td>";}  
			echo "</tr>";  
			echo "<tr>";  
			if($ausgabe->UserID){echo "<td bgcolor=\"#F3F3F3\">$ausgabe->UserID</td>";}  
			if($ausgabe->Vname){echo "<td bgcolor=\"#F3F3F3\">$ausgabe->Vname</td>";}  
			if($ausgabe->Nname){echo "<td bgcolor=\"#F3F3F3\">$ausgabe->Nname</td>";}  
			if($ausgabe->Passwort){echo "<td bgcolor=\"#F3F3F3\">$ausgabe->Passwort</td>";}  
			if($ausgabe->Username){echo "<td bgcolor=\"#F3F3F3\">$ausgabe->Username</td>";}  
			echo "</tr>";  
		}  
	}  
}  

MfG
sap

  1. echo $begrüßung;

    Wenn ich jedoch bei der Abfrage Username klein schreibe "Select username from tbluser " zeigt er nichts an.

    Der im Statement verwendete Spaltenname (oder ein Alias) ist in dieser Schreibweise auch der Name des Feldes in der Ergebnismenge. Ohne den Namen beachten zu müssen kannst du nur über die Position im Abfrageergebnis gehen.

    Ansonsten wäre noch eine aufwendige Möglichkeit, mit mysql_num_fields() die Anzahl der Felder der Ergebnismenge zu ermitteln, mit mysql_field_name() die Namen der einzelnen Felder und dann einen case-insensitiven Vergleich durchzuführen. Bei Übereinstimmung kennst du nun die tatsächliche Schreibweise und kannst (mit mysql_fetch_assoc() statt mysql_fetch_object()) auf das Feld zugreifen.

    $befehl = $_POST['textfeld'];
    $ok = mysql_query($befehl) ...

    Ich hoffe, das ist ein gut gesichertes Administrationsscript, ansonsten solltest du keine große emotionale Bindung zu deinen Daten aufbauen, weil sie jeder nach Belieben ändern oder löschen kann.

    echo "$verabschiedung $name";

  2. Hallo,

    Wenn ich jetzt nach dem Usernamen frage mache ich das so "Select Username from tbluser ". Dann zeigt er mir die Tabelle ohne Probleme an und auch richtig.
    Wenn ich jedoch bei der Abfrage Username klein schreibe "Select username from tbluser " zeigt er nichts an.

    hört sich nach MySQL unter einem UNIX-artigen Betriebssystem an. Da sind Tabellennamen case-sensitiv. Hast Du Einfluss auf die Serverkonfiguration? Wenn ja, könnte Dir die Systemvariable lower_case_table_names weiterhelfen.

    Freundliche Grüße

    Vinzenz