Mailinglisten-Archive |
Hallo, > auf meinem System läuft WindowsNT 4 SP5, Apache 1.3.9, PHP v3.0.11 und PHPLIB > 7.2 > Datenbankzugriff findet bisher via ODBC auf eine Access2000.mdb zu > (Testumgebung). > > Ich habe jetzt in einem PHP-Script einen SQL-Befehl mit einer WHERE-Klausel > mit > LIKE-Vergleich eingebaut: > Fahrzeugtyp Like '*$sFahrzeugtyp*' > > [...] > > Ich habe jetzt alle (mir) erdenklichen Möglichkeiten durchprobiert, also mal > ohne ORDER-Klausel, usw. Aber das Ding liefert immer 0 Datensätze :-( > Komischerweise funktioniert es, wenn man es direkt in Access2000 als > SQL-Abfrage eingibt. > > Liegt's am ODBC-Treiber? Oder strahlt mein Bildschirm zu sehr ab... Nein, es liegt daran, daß Microsoft sich mal wieder nicht an Standards hält: Bei SQL ist das "Wildcard-Zeichen" ein % (Prozent) nicht der * (Stern). Ergo: ... %$sFahrzeugtyp% ... , dann sollte es klappen. > Geht's bei irgendjemandem mit einer anderen Datenbank? * geht vermutlich außer bei Access nirgendwo - da wie gesagt nicht standard. MS hat vermutlich geglaubt, sie tun den Usern was gutes, wenn sie sowohl * als auch % zulassen. (Was ja auch stimmt - aber nur so lange man bei Microsoft-DBs bleibt) > Und: Gibt's zu mySQL eine Alternative, die wie Apache, PHP und PHPLIB > "kostengünstig" (also umsonschd) ist? Auf Linux: MSql, Postgres... und möglicherweise noch andere Auf Windows: keine Ahnung... Da fällt mir gerade ein: Die vorletzte Version von Interbase ist glaub' ich mittlerweile frei. Ich weiß aber nicht, ob (und wo) es die auch für Windows gibt. CU, Manuel
php::bar PHP Wiki - Listenarchive