Mysql Platzhalter für *

matzseesi

Erfahrenes Mitglied
Hi Leute,

Bin gerade dabei ein paar Datensätze auszugeben und bin auf folgendes problem gestoßen

SELECT id FROM iddb WHERE name=hallo

Hier listet er mir alle ids auf wo in der Spalte name Hallo steht
Wie lautet allerdings der Befehl für alle Namen?

SELECT id FROM iddb WHERE name=*

isses nicht

Danke für die Hilfe

Gruß Seesle
 
Mir ist zwar nicht klar wieso du das dann brauchst, aber versuchs mal mit
" SELECT id FROM iddb WHERE name LIKE '%' "
 
hmm

habs jetzt so probiert!

SELECT id FROM iddb WHERE name=%

Die ganze abfrage ist etwas komplizierter und ich habe nur ein Beispiel genommen um zu erklären was ich möchte! es wäre echt super wenn jemand weiß was man da verwendet! normal wird ja * für alles verwendet is in MYSQL ja auch so wenn man alle Spalten auswählt aber warum nicht für diesen Zweck hier?

Danke für deine Antwort aber leider muss es so heißen WHERE name=dieserplatzhaltereben
Kennt wer das geheimnis?

Gruß Matz
 
gut dann ist platzhalter vielleicht falsch ausgedrückt!
mein problem ist dass ich nicht undert if abfragen machen möcht
deswegen such ich einfach ein Zeichen mit dem ich alle datensätze auswählen kann ohne den ganzen string verändern zu müssen!

so lad ich mir einfach per post den namen rein und wenn keiner ausgewählt wurde kommt eben das Zeichen für alle!

Also gibts da nichts?

Gruß Matthias
 
Also ich weiß ja nicht wo dein Problem liegt, aber ich wiederhole einfach mal meine Antwort zum dritten Mal mit anderen Worten ;-)

Also wenn du einfach nur sicherstellen willst, dass irgendwas gefunden wird, dann machst du folgendes:

in $name steht der Name der im Formular eingegeben wurde:

PHP:
$sql = "SELECT * from adressen WHERE name LIKE '" . $name . "%'";

Das ist dann deine Abfrage. Wenn Jemand Müller eingibt, dann bekommst Du
Code:
SELECT * from adressen WHERE name LIKE 'Müller%'

findet alle Namen, die mit Müller ANFANGEN

Wenn jemand nichts eingibt bekommst Du:

Code:
SELECT * from adressen WHERE name LIKE '%'

Also alle Namen.

Alternativ (und so würde ich es wahrscheinlich machen):

PHP:
if ('' == trim($name)) // wenn der Name leer ist
{
  $sql = "SELECT * from adressen"; // das WHERE einfach weglassen
} else {
  $sql = "SELECT * from adressen WHERE name = '$name'";
}
Noch Fragen?

Ich hoffe, dass ich es jetzt verständlich erklärt habe.

Gruß

Marian
 
Ist LIKE die komplett selbe Funktion wie wenn ich name=blubb mache
oder gibts da einen Unterschied?

Genau diesem IF möchte ich eben ausweichen dass du gemacht hast in deinem letzten beispiel!

:suspekt:
 
Zurück