Antworten auf deine Fragen:
Neues Thema erstellen

MySQL liefert zu wenig Datensätze

Robbyn-

PHP / Flex Programmierer

Hallo,

habe ein ungewöhnliches Problem, ist mir bisher auch noch nie untergekommen. Folgendes Ich möchte aus einer Tabelle ein paar Datensätze auslesen ganz normal und üblich. Nur egal was ich für ein SQL Code schreibe, er gibt mir immer nur 1 Datensatz zurück. Selbst wenn ich

PHP:
SELECT * FROM `tabelle`;

und die Tabelle 200 Datensätze besitzt, kommt nur 1 Datensatz zurück. Wenn ich mit dem SQL Befehl

PHP:
SELECT COUNT(`id`) as count FROM tabelle

mache, kommen auch 200 gezählte Datensätze zurück. Was mache ich also falsch o_O verstehe das nicht.

Mfg.
Robbyn
 

M

Metty_D

Guest

AW: MySQL liefert zu wenig Datensätze

lass mal die Anführungszeichen bei dem tabellennamen weg ;)
 

Robbyn-

PHP / Flex Programmierer

AW: MySQL liefert zu wenig Datensätze

Ändert nichts, warum sollte es das auch, sogar noch besser mit ` als ohne.
 
M

Metty_D

Guest

AW: MySQL liefert zu wenig Datensätze

wo hast du denn die Abfrage ausgeführt ? In phpMyAdmin ? oder in einem PHP-Script ?
Wenn Du das in einem PhPScript machst, wie sieht das Coding denn aussenrum aus ?

So ein paar Infos wären nicht schlecht.
 

Robbyn-

PHP / Flex Programmierer

AW: MySQL liefert zu wenig Datensätze

In PHPMyAdmin funktioniert es ja, nur wenn ich es in einer leeren php datei mit keinen weiteren code nur eine verbindung zur datenbank habe dann geht es nicht. Ich verstehe das auch nicht, wieso er mir da nur 1 Datensatz immer zurück gibt, habe weder ein Limit noch sonst irgendwas drin was dies beinträchtigen kann. An mein PHP/MySQL kann es auch nicht liegen, da es bei anderen Projekten auf den Server ja auch funktioniert, nur eben halt bei dem nicht.
 
P

Pendrake

Guest

AW: MySQL liefert zu wenig Datensätze

Hi,

was steht denn genau im code? Ich hoffe mal nicht, dass du da jetzt per mysql_fetch_row oder mysql_fetch_array das Ganze aus der DB holst und das ohne while Schleife o.Ä. machst, dann wäre das nämlich kein Wunder, dass nur ein Ergebnis kommt. Also: Den genauen Code bitte, dann kann man weiterhelfen :)

Gruß,

Pendrake
 

Robbyn-

PHP / Flex Programmierer

AW: MySQL liefert zu wenig Datensätze

PHP:
$data = mysql_query("SELECT * FROM `table`");
$count = mysql_query("SELECT COUNT(`id`) as count FROM `table`;");
$row = mysql_fetch_array($data);
$co = mysql_fetch_array($count);

print_r($row);
echo $co['count'];

Das ist der ganze Inhalt, davon abgesehen das ich oben drüber noch eine Datenbankverbindung aufbaue.
 

fakerer

Aktives Mitglied

AW: MySQL liefert zu wenig Datensätze

mysql_fetch_array liefert nur den ersten datensatz du musst das in ne schleife schmeissen solange bis false kommt.

Liefert ein Array das dem aktuellen Datensatz entspricht oder FALSE, wenn keine weiteren Datensätze vorliegen.
 

Robbyn-

PHP / Flex Programmierer

AW: MySQL liefert zu wenig Datensätze

Ja wenn keine weiteren Datensätze vorliegen.

Ich habe schon tausendmal mit mysql_fetch_array gearbeitet ich weiß wie das funzt. Wenn ich print_r auf die Variable drauf mache dann zeigt er mir alle Datensätze an die in dieser variable drin sind.

Wenn ich es auch in eine Schleife haue kommt auch nur 1 Datensatz raus, alles schon probiert.
 
M

Metty_D

Guest

AW: MySQL liefert zu wenig Datensätze

Kann es sein, dass es mit dem DatenInhalt und dessen Encoding was zu tun hat ?
ist da UTF-8 Content drin ?
vielleicht mal mit der Methode mysql_set_charset probieren ?
Ich denke mal wenn es mit phpMyAdmin geht und Du dort z.B. UTF-8 verwendest dann setzte doch einfach mal das gleiche Charset wie im phpMyAdmin.

Gruß Metty
 

Robbyn-

PHP / Flex Programmierer

AW: MySQL liefert zu wenig Datensätze

Habe ich gerade probiert geht aber leider auch nicht.

Außerdem würde sich dann dieses Problem auf alle Projekte des Servers auswirken was ja nicht der Fall ist. Es ist ja nur bei diesen Projekt ... ich verstehe das aber auch nicht, das ist doch alles richtig?! Wieso kommt dann dort nur ein Datensatz back.
 
M

Metty_D

Guest

AW: MySQL liefert zu wenig Datensätze

Okay, also maysql_fetch_array geht nicht, hast du es mal in einer Schleife mit mysql_fetch_row() probiert ?
Wenn das auch nicht geht, bin ich am Ende mit meinem Latein, ohne dass ich mir die DB ansehen kann und das Script.

Gruß Metty
 

Duddle

Posting-Frequenz: 14µHz

AW: MySQL liefert zu wenig Datensätze

Ich habe schon tausendmal mit mysql_fetch_array gearbeitet ich weiß wie das funzt.

Offensichtlich nicht.

Wie schon gesagt: mysql_fetch_* holt einen Datensatz in irgendeiner Form. Danach inkrementiert er den Pointer in der Ressource, um auf den nächsten Datensatz für das nächste mysql_fetch_* zu zeigen.

http://www.php.net/manual/de/ref.mysql.php schrieb:
  • mysql_fetch_array — Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides
  • mysql_fetch_assoc — Liefert einen Datensatz als assoziatives Array
  • mysql_fetch_object — Liefert eine Ergebniszeile als Objekt
  • mysql_fetch_row — Liefert einen Datensatz als indiziertes Array

Du musst über das Ergebnis iterieren, anders bekommst du nicht alle Ergebnisse.


Duddle
 

itstumpp

Noch nicht viel geschrieben

AW: MySQL liefert zu wenig Datensätze

Hallo Robbyn-

erstell mal deinen PHP-Code so:
PHP:
$data = mysql_query("SELECT * FROM `table`"); 
$count = mysql_query("SELECT COUNT(`id`) as count FROM `table`;"); 
$co = mysql_fetch_array($count); 

echo $co['count']; 

while ($row = mysql_fetch_array($data)) 
{
  print_r($row);
}

Das ganze kannst du auch unter http://de.php.net/manual/de/function.mysql-fetch-array.php nachlesen.

Viele Grüße
Andreas Stumpp
 

Robbyn-

PHP / Flex Programmierer

AW: MySQL liefert zu wenig Datensätze

Vielen Dank, ich werde dies gleich am Montag auf der Arbeit ausprobieren. Werde mich dann dazu nochmal melden.
 

Robbyn-

PHP / Flex Programmierer

AW: MySQL liefert zu wenig Datensätze

Hallo Robbyn-

erstell mal deinen PHP-Code so:
PHP:
$data = mysql_query("SELECT * FROM `table`"); 
$count = mysql_query("SELECT COUNT(`id`) as count FROM `table`;"); 
$co = mysql_fetch_array($count); 

echo $co['count']; 

while ($row = mysql_fetch_array($data)) 
{
  print_r($row);
}

Das ganze kannst du auch unter http://de.php.net/manual/de/function.mysql-fetch-array.php nachlesen.

Viele Grüße
Andreas Stumpp

Dein Beitrag war die rettende Lösung, hatte wohl am Freitag zuviele Überstunden gemacht das ich das nicht mehr gesehen habe xD.

Danke euch allen klappt alles wieder.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben