ich habe mal wieder n kleines Problemchen in meinem Code.
Ich habe eine Tabelle 'table' mit einer Spalte 'column'. Die Spalte ist vom Typ varchar und dort werden verschiedene Werte gespeichert. Die verschiedenen Werte können Ganzzahlen (zb ein Alter) oder aber auch ein String (zb ein Name) sein.
Falls in 'column1' eine Zahl steht, würde ich gerne von einer SQL-query alle Einträge zwischen zwei Eingaben von zwei Inputfeldern haben.
Beispiel:
HTML Code:
<input type='text' name='value1'> und <input type='text' name='value2'>
Code:
$pdo->prepare("SELECT column FROM table WHERE column BETWEEN :value1 AND :value2"); $stmt->execute([ 'value1' => $_POST['value1'], 'value2' => $_POST['value2'] ]);
Was ich bisher probiert habe:
- Mit 'column' als Typ int statt varchar ausprobiert und es funktioniert. - Nur fällt hier das Speichern der Strings - zb Namen flach.
- Casten in der SQL Query mit CAST('column' AS INT) oder CONVERT(INT, column). Ich habe auch schon versucht die value's als varchar zu casten.
- BETWEEN durch <= und >= ersetzt.
Mir ist bewusst, dass es besser ist, Spalten entweder für Zahlen oder für Strings zu nutzen. In meinem aktuellen Projekt ist dies leider nicht möglich, da die Spalte variabel genutzt werden muss.
Vielen Dank schonmal,
Legithos