Frage von HowKnow, 35

MySQL problem mit SUBSTRING?

$abfrage = mysqli_query($verbindung, "SELECT SUBSTRING(text, 1, 20) FROM artikel");  

Dieser Code führt leider nicht zur Ausgabe von den ersten 20 Zeichen des Feldes 'text' in der jeweiligen Reihe. Es wird auch keine Fehlermeldung ausgegeben. Weiß jemand, was zutun ist?

Antwort
von Herb3472, 35

Mir ist nicht recht klar, warum Du den Substring bereits in der Abfrage herausfiltern willst.

Kommentar von HowKnow ,

Ich dachte, das würde so funktionieren. Hast du eine Alternative parat? :)

Kommentar von Herb3472 ,

Ich weiß ja nicht, was Du mit dem Substring vorhast. Normal holt man sich mit SELECT die Daten, die man benötigt, und übergibt sie an eine Variable. Dort kannst Du dann ganz einfach herausfiltern, was Du möchtest.

Kommentar von HowKnow ,

Substring soll den Text auf 20 Zeichen kürzen.

Kommentar von Herb3472 ,

Dann hol Dir doch mit SELECT den String, übergib ihn an eine Stringvariable und kürze ihn dort:

strText20 = Left(text,20)

oder so ähnlich

Kommentar von HowKnow ,

Spitze, probier ich mal. Danke!

Kommentar von HowKnow ,

Hat geklappt, danke!

Kommentar von Herb3472 ,

Na prima! Wie wär's mit "hilfreichster Antwort"? ;-)

Kommentar von maximilianus7 ,

abgelehnt - das war keine echte problemlösung, sondern ein workaround

Kommentar von Alextoexplain ,

Ein Grund könnte zum Beispiel sein, dass SQL das schneller kann als PHP :-)

Kommentar von Herb3472 ,

Weil hier Geschwindigkeit wahrscheinlich eine besonders große Rolle spielt.

Antwort
von maximilianus7, 17

also: hilfreichste antwort (habe heute meinen größenwahn): im gegensatz zu anderen funktionen (aggregat-funktionen wie max, min, avg ...) wird wohl nicht der parameter als assoc-index übernommen, sondern der gesamte funktionsausdruck in exakter schreibweise.

wenn du als index 'text' erwartest musst du dem substring-ausdruck den namen mit "as text" zuweisen. 



Kommentar von Herb3472 ,

Mir kommt das auch so vor, als ob Du heute Deinen Größenwahn hättest. Viele Wege führen nach Rom. Hier war ja kein Tutorial gefragt, sondern eine einfache und praktikable Lösung.

Kommentar von maximilianus7 ,

... auch noch nachtreten. vielleicht überlässt du dem fragesteller, was für ihn hilfreich ist.

und: auf die dauer ist das umschiffen von problemen keine lösung.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten