Fehlersuche

brainsucker

Erfahrenes Mitglied
Hi, ich seh / versteh den Fehler zu folgendem Code nicht. Vielleicht sieht ihn einer von euch?

PHP:
// Hole alle Daten aus der DB
	$find_last_admin_actions = mysql_query("Select * from last_actions order by lastaction_id desc");
		while($last = mysql_fetch_assoc($find_last_admin_actions))
			{
			// Hole den Übersetzungswert, bzw filtere die Tabelle aus der dann gelesen werden soll
			$sql = "Select * from translate_actions where description = '" . $last[aktion]."'";
				$get_tranlated = mysql_query($sql);
					$trans = mysql_fetch_assoc($get_tranlated);
					
					
				// Ermittler sämtliche Felder dieser Tabelle
				$datenbank_felder = "SHOW FIELDS FROM " . $trans[tabelle];
					$fields = mysql_query($datenbank_felder);
						while($feld = mysql_fetch_assoc($fields))
							{
							echo $feld[Field]."<br>";
							}
			
			}

Fehlermeldung:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\design\adminbereich\show_last_actions.php on line 27
Line 27 ist diese hier:
PHP:
while($feld = mysql_fetch_assoc($fields))
 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

--> versteh ich nur nicht, denn wenn ich mir das sql ausgeben lass und in php my admin auf die DB los lasse klappt das


Lustigerweise bekomm ich auch das ergebnis von

echo $feld[Field]."<br>";

korrekt ausgegeben
 
hab den fehler gefunden!

Er bekamm aus der Datenbank ein "" zurück und konnte dann im folgenden command nichts mehr damit anfangen, habs abgefangen und es tüdelt nun einwandfrei, danke Euch beiden!
 
Ich vermute dass die letzte Datenbankabfrage („SHOW FIELDS …“) fehlschlägt. Probier mal Folgendes:
PHP:
// Hole alle Daten aus der DB
$result = mysql_query("SELECT `translate_actions`.`tabelle` FROM `last_actions` LEFT JOIN `translate_actions` ON `last_actions`.`aktion`=`translate_actions`.`description` ORDER BY `lastaction_id` DESC") or die(mysql_errro());
while( $row = mysql_fetch_assoc($result) ) {
	// Hole den Übersetzungswert, bzw filtere die Tabelle aus der dann gelesen werden soll
	$query = "SHOW FIELDS FROM `".$row['tabelle']."`";
	$columns = mysql_query($query) or die(mysql_error());
	while( $column = mysql_fetch_assoc($columns) ) {
		echo $field['Field']."<br>";
	}
}
 
Zurück