phpmyadmin " * " abfrage

EM-Autotechnik

Erfahrenes Mitglied
hallo freaks!

Kann mir einer sagen wieso ich bei meinem Freenet Server folgende Abfrage nicht starten kann? freenet_server= linux apache php und phpmyql.:

PHP:
               $res_f = mysql_query("SELECT * FROM Kunden'");
                           while ($array_datensatz = mysql_fetch_array ($res_f)) {
                                                     $write = $array_datensatz[0];
                                                               echo "$write</br>";

liegt es daran das ich eine " * " Abfragen in einer whiel Schleife starte, oder an den PHP-Optionen die mir Freenet zur verfügung stellt?

"danke" for help!

mfg Sebastian
 
Müsste von der Syntax her gehen.
Probiere notfalls mal die Tabelle in Backticks (`) und komplett klein zu schreiben.
Außerdem empfehle ich dir immer nach etwas zu sortieren. Sonst ist die ausgegebene Liste "unübersichtlich", außer du willst sie in der Reihenfolge haben, in der Sie eingetragen wurden.

Ansonsten fällt mir noch auf, dass du mysql_fetch_array verwendest. Das gibt ein assoziatives Array zurück (mit Keys) nimm stattdessen mysql_fetch_row. Gibt ein Array mit Nummern als Key zurück. So wie du es in der While-Schleife verwendest...
 
tja...

"Danke" for answer

Erstens keine schlechte Idee zu sortieren... habe ich auch... :)

PHP:
               $res_f = mysql_query("SELECT * FROM Kunden WHERE  = '$que_' ORDER BY kunden_id ASC");
                           while ($array_datensatz = mysql_fetch_row ($res_f)) {
                                                     $write = $array_datensatz[0];
                                                               echo "$write</br>";

Bekomme allerdings immer nur die erste Spalte angezeigt....
aber warum das....

assotiativ bedeutet keinen festen bzw. bestimten wert?... oder habe habe ich das falsch verstanden?

mfg Sebastian
 
Zuletzt bearbeitet:
korrektur:

"$que_"

In der db Afrage soll das eigentlich "$que_" heissen.... Tut zwar nix zur Sache aber irgenwie zeigt es das Forum nicht an....
 
Du willst da aber schon die PHP-Variable im Query drin haben oder? ich nehme an.
Dann ist es auch eleganter, die Variable aus dem String zu nehmen. So:
PHP:
mysql_query("SELECT * FROM Kunden WHERE PLZ = '".$que_p_l_z."' ORDER BY kunden_id ASC");
(Hoffe, dass der Code so richtig ist. Kann den dank dem *#@! Wortfilter nur zu entziffern versuchen...)

Im PHP-Code soll $que_p_l_z für $que_plz stehen. Das P ist wieder aus Wortfiltergründen fett.

Ich hoffe, dass ich den Wortfilter jetzt überlisten konnte (P fett gemacht :-)).

P L Z ist im Inet die Abkürzung für please und daher anscheinend ein verbotenes Wort. T H X = Thank YOU geht auch nicht. Wird alles durch Leerstrings ersetzt.
 
zur Ergänzung...

Also mein Script stimmt glaub ich schon so weit...

Nur ich bekomme wie gesagt immer nur die erste Spalte meiner Datenbank
angezeigt! Was ich ja eigentlich durch die ' * ' Abfrage verhindern will.

Kann es sein das dieser Fehler mit der WHILE Funktion zusammenhängt?

Hier mein Script: (P L Z aus Filter gründen fett)

PHP:
$res_f = mysql_query("SELECT * FROM Kunden WHERE plz = '$qu_plz' ORDER BY kunden_id ASC");
                           while ($array_datensatz = mysql_fetch_row ($res_f)) {
                                                     $write = $array_datensatz[0];
                                                               echo "$write</br>";

                                 }

mfg Sebastian
 
Das ist ganz klar, dass du nur die 1. Spalte bekommst,m, wenn du nur $array_datensatz[0] ausgibst.

Übrigens: plz ist jetzt nicht mehr im Wortfilter. Der Admin hast eingesehen. :-) :-)
 
Zurück