phpbar.de logo

Mailinglisten-Archive

[php] Kein LIKE-Vergleich bei PHP via ODBC auf Access2000?

[php] Kein LIKE-Vergleich bei PHP via ODBC auf Access2000?

Manuel Hossfeld lists_(at)_hossfeld.de
Wed, 3 Nov 1999 08:15:10 +0100


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