MySQL-Abfrage Select * funktioniert nicht

janomerico

Erfahrenes Mitglied
Hallo,

Ich habe folgendes Problem: Wenn ich alle Felder einer Tabelle abfragen möchte, also Select * schreibe, so funktioniert das nicht (bzw. es werden anscheinend bloss 3 von 8 Felder ausgewählt). Wenn ich anstelle des Stern-Zeichens einfach alle Feldnamen selber aufliste nach Select, dann funktioniert alles wunderbar. Am restlichen Code kann es also nicht liegen, dass da was nicht klappt ... Kennt jemand das Problem und am besten auch gleich die Lösung davon?

Grüsse janomerico
 
Es kann sein das du Felder so benannt hast, dass Sie in MySql selbst definiert sind.
Z.B. Alter dieses musst du dann explizit als Feldname bzw. Spaltenname deklarieren. 'Alter'
 
Okay, ich habe den Quellcode auf's Wichtigste gekürzt. Aber auch so besteht das Problem immer noch ...

PHP:
<!---- START Auslesen der Datenbank-Einträge ---->
<?php

$tabelle = "aufgabensammlung";
$link = mysql_connect("localhost", "root");
mysql_select_db("maturarbeit", $link);

// GUCKST DU HIER
$sql = "SELECT autor, email, titel, aufgabe, datum, solution, Hauptkategorie, Unterkategorie, Schwierigkeitsgrad FROM $tabelle LIMIT 0, 3";

$result = mysql_query($sql, $link);
for($i=0; $i<mysql_num_rows($result); $i++)
{
$ergebnis[$i] = mysql_fetch_array($result);
}

?>
<!---- DONE Auslesen der Datenbank-Einträge ---->



<html><head><title>Aufgaben</title></head><body>

<!---- START Ausgabe der Aufgaben ---->
<?php
for($i=0; $i<count($ergebnis); $i++)
{
echo "<table border=\"1\" width=\"700\">
		<tr>
		<td>".$ergebnis[$i]['datum']."</td>
		<td>".$ergebnis[$i]['autor']."</td>
		<td>".$ergebnis[$i]['email']."</td>
		</tr><tr>
		<td colspan=\"3\">".$ergebnis[$i]['thema']."</td>
		</tr><tr>
		<td colspan=\"3\">".$ergebnis[$i]['titel']."</td>
		</tr><tr>
		<td colspan=\"3\">".nl2br($ergebnis[$i]['aufgabe'])."</td>
		</tr><tr>
		<td colspan=\"3\">".nl2br($ergebnis[$i]['solution'])."</td>
		</tr><tr>
		<td>".$ergebnis[$i]['Hauptkategorie']."</td>
		<td>".$ergebnis[$i]['Unterkategorie']."</td>
		<td>".$ergebnis[$i]['Schwierigkeitsgrad']."</td>
		</tr>
		
		</table>";
		
	echo "<br><br>";
}
?>	

<!---- DONE Ausgabe der Aufgaben ---->

</body></html>

So klappt alles wunderbar, wenn ich allerdings SELECT * schreibe, werden nur drei Felder (Hauptkat., Unterkat., Schwierigkeitsgrad) angezeigt ...
 
Zurück