Ich bin nun wirklich kein Freund von Internet-Foren. Egal in welchem Forum ich mich bewege, gibt es immer Objekte die Ihr kleines Ego versuchen aufzupolieren und sich wahlweise mit rummoppern oder mit überheblichen Rechthaben in den Vordergrund drängeln. Das eigentliche Problem des Fragestellenden wird da vollkommen in den Hintergrund geschoben. ICH LIEBE ANTWORTEN WIE:
Lese dir mal die FAQ durch (ca 200 Seiten)
Die Antwort steht schon irgendwo im Internet, suche in Google
Sucht man in Google kommt man auf lauter Beiträge wo die beiden obigen Antworten stehen oder der frage stellende Antwortet das der Fehler behoben wurde, teilt aber nicht mit wie.
Oooooder aber irgendwer sagt, das man sowieso alle falsch macht und das gaaaanz anders machen soll. Wahlweise wird empfohlen auf Mac / Linux bzw. Android oder iOS umzusteigen…
Ähhhh ja.
Und so ist es auch mir ergangen als ich neulich beim Programmieren lernen auf einen Fehler gestossen bin den ich einfach nicht lösen konnte. Letztendlich war es wirklich nur ein doofer Denkfehler…. na wie gut das ich bloggen kann. Hoffe es hilft dem nächsten.
Ich schrub folgende Schleife in PHP
echo ”<p>Folgende Strichlisten sind bereits vorhanden</p><u>”;
$res = mysql_query (‘select * from strichzettel’);
$num = mysql_num_fields($res);
for ($i=1; $i<=$num; $i++)
{
echo mysql_field_name($res, $i);
}
?>
und erhielt dann beim Aufruf der Schleife die Meldung
Warning: mysql_field_name() [function.mysql-field-name]: Field 2 is invalid for MySQL result index 7 in C:\xampp\htdocs\strich\install.php on line 165
Der Fehler ist eigentlich recht einfach. Wird der in der for Schleife eingestellt Vergleichparameter ($i=$num) erreicht, läuft die Schleife noch einmal durch. Will Echo dann den Feldnamen mit dem Wert $i ausgeben, geht das nicht weil das Feld nicht vorhanden ist. Das wiederum liegt daran das die Zählung der Spalten bei 0 anfangen (4 Spalten haben die Nummerierung 0,1,2,3 …). Die Lösung ist denkbar einfach…. das “=” im Vergleichsparameter muss weg.

