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-ID: 142215

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

masterG
masterG 05.05.2010 um 16:55:47 Uhr
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
dtiger
dtiger 05.05.2010 um 19:24:22 Uhr
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.
jknapp
jknapp 05.05.2010 um 22:01:20 Uhr
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
dtiger
dtiger 06.05.2010 um 06:42:26 Uhr
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"
maretz
maretz 06.05.2010 um 07:40:38 Uhr
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...
masterG
masterG 06.05.2010 um 09:17:45 Uhr
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.