dtiger
Goto Top

Text mit Leerzeichen auslesen

Hallo,
Ich würde gerne aus einer MYSQL Datenbank einen Datensatz auslesen und diesen dann ausgeben. Das Problem ist, dass der Inhalt einer Spalte ein Leerzeichen hat ( also "Daniel Meier" z.B.). Wenn ich nun den Datensatz auslese, zeigt er mir nur "Daniel" an. Er schneidet den Inhalt also nachdem Leerzeichen ab. "Daniel Meier" steht allerdings in der Datenbank.

 
<? 
while($row = mysql_fetch_array($ergebnis))
   {
	   $Name = $row['Name'];  
echo $row['Name']  
}
echo $Name;



?> 

Die Abfrage an sich scheint richtig zu funktionieren, da ich auch noch andere Spalten damit Abfrage und diese ohne Probleme auszulesen sind ( haben allerdings auch kein Leerzeichen im Inhalt).
Die Spalte Name ist als TEXT formatiert.

Content-Key: 142215

Url: https://administrator.de/contentid/142215

Printed on: April 20, 2024 at 01:04 o'clock

Member: masterG
masterG May 05, 2010 at 14:55:47 (UTC)
Goto Top
Beispiel:
<?php
$sql = "SELECT Name FROM tabelle;";  
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) {
     echo $row['Name']."<br />";  
}
?>
probiers mal so.

Gruß
masterG
Member: dtiger
dtiger May 05, 2010 at 17:24:22 (UTC)
Goto Top
hallo,
Das klappt leider auch nicht. In der Übersicht von phpmyadmin steht der text untereinander in dem Feld. also "Daniel" und dadrunter "Meier", aber in einem Feld halt.
Member: jknapp
jknapp May 05, 2010 at 20:01:20 (UTC)
Goto Top
Moin Moin,

bin jetzt kein php-freak, aber von mysql hab ich ein bischen Ahnung.

Kommt mir ungewöhnlich vor einen Namen in einem Feld von der Art Text zu speichern...
Wäre doch eher was für varchar.

Bei Text ist ein Return im Text möglich, wenn ich mich recht entsinne, was eher ungewöhnlich ist für so Daten wie "Daniel Meier" ist.
Den Datentyp benutzt man normal für Memos/Kommentare etc. meine ich.

Ich denke das sollte man auf DB ebene korrigieren, dann klappt sicher auch die Abfrage.
Ansonsten musst du einen Weg finden mehrzeilige Werte auszugeben, glaub ich.
Da sind dann die PHP-Leute gefragt ! ;O)

Hoffe es hilft. Wenn nicht vergiss es. Aber ich denke das wird das Problem sein.

Jochen
Member: dtiger
dtiger May 06, 2010 at 04:42:26 (UTC)
Goto Top
guten morgen,
habe das feld nun auf varchar(50) geändert, allerdings hat dies auch nichts gebracht. hat es eventl. was mit den anderen Feldeinstellungen zu tun? ich meine dieses "latin1_swedish_ci"
Member: maretz
maretz May 06, 2010 at 05:40:38 (UTC)
Goto Top
ich würde mal über nen echo strlen($Name) gucken wieviele Zeichen er überhaupt eingelesen hat. Dein normal müsste er auch bei einem vorhandenem Return-Zeichen trotzdem den vollen Namen ausgeben (ggf. mit nem nicht-druckbaren Zeichen dazwischen) -> es ist der Ausgabe ja erstmal egal WAS die ausgibt...
Member: masterG
masterG May 06, 2010 at 07:17:45 (UTC)
Goto Top
Zitat von @dtiger:
guten morgen,
habe das feld nun auf varchar(50) geändert, allerdings hat dies auch nichts gebracht. hat es eventl. was mit den anderen
Feldeinstellungen zu tun? ich meine dieses "latin1_swedish_ci"

stell mal auf varchar(255). Ist zwar etwas übertrieben aber zum testen sollte es reichen.