Auf Datenbankinhalt zugreifen über Variablennamen?

preko

Erfahrenes Mitglied
Hi,

ich habe im Prinzip folgendes vor und stehe voll auf dem Schlauch:

PHP:
...
function translation($translation,$language) {
	    $db = @mysql_connect($host1,$user,$password)
	        or die ("Verbindung mit Datenbankserver fehlgeschlagen!");
	    @mysql_select_db($database,$db)
	        or die ("Verbindung mit Datenbank fehlgeschlagen!");
	    mysql_query('set character set utf8;');
	    $sql_query = ("SELECT 
									*
							FROM 
									ts_caption
							WHERE
									`language` = '$language'
						"); 
	    $result = mysql_query($sql_query);
	    echo "RESULT: ".$result."<br />";  

		while( $row = mysql_fetch_array($result,MYSQL_ASSOC) ) {
 	               echo "ROW1: ".$row['$translation']."<br />";	    
    	            echo "ROW2: ".$row['suche']."<br />";	    
		       print (mysql_error());
		} 			

	    echo "<br /><p>".$sql_query."</p>";  	
  	    @MYSQL_CLOSE();
		}


translation (suche,en);
Ausgabe kommt wie folgt:
RESULT: Resource id #10
ROW1:
ROW2: Search

SELECT * FROM ts_caption WHERE `language` = 'en'

Ich möchte also die Abfrage so gestalten, dass je nach Wert der Variablen $translation ein entsprechendes Feld aus der Datenbank ausgelesen wird.

Wenn ich den Spaltennamen direkt eingebe (unter ROW2 - $row['suche']) kommt auch die passende Ausgabe.

Ich möchte es jedoch wie in ROW1 ($row['$translation']) hinkriegen, dass die Spalte je nach Anforderung abgefragt wird.

Wo habe ich den Fehler? :-( :confused:


Beste Grüße!
 
Zuletzt bearbeitet:
Ist es nicht "nur" das hier:

PHP:
//falsch mit einfachen Anführungszeichen vor und nach $translation
echo "ROW1: ".$row['$translation']."<br />"; 
//richtig (?) ohne Anführungszeichen
echo "ROW1: ".$row[$translation]."<br />";
 
@ tombe:

viiiiiiiiiiiiieeeeeeeeeeeelen Dank! :D

Das war´s. Oh mann, schnell mal ´nen Kaffee her! Den habe ich glaube ich dringendst nötig! ;)
 
' zuviel
'$var' wird als String und nicht als Variable geparst.
PHP:
$row[$translation]

Nachtrag: Zu spät
 
Zurück