As long as I know, some databases will find John even if you ask for JOHN. If not, then here is your SELECT (for mySQL). $sql = "SELECT * WHERE UPPER(name) = UPPER('$name')"; Your problem is solved now. -- Maxim Maletsky maxim@xxxxxxx www.PHPBeginner.com // where PHP Begins Hervé Piedvache <herve@xxxxxxx> wrote... : > The best way is to always save data in your database in the same format ... > upper or lower ... then create an index on your field classicaly ... > > CREATE INDEX ix_name ON mytable(name); > SELECT name FROM mytable WHERE name = '" . strtolower($Name) ."'; > > You will ever use the index ... and it's simple to implement ... > You can also easily do an update of your database like : > update mytable set name=lower(name); > to get all the old data in the good format ... > Do not forget to vacuum the table after that ! > > Regards, > > Le Mardi 22 Octobre 2002 10:12, Andrew McMillan a écrit : > > On Tue, 2002-10-22 at 17:01, Zhidian Du wrote: > > > I want a PHP program to search case-insensitivly. > > > > > > for example: > > > select Name from mytable where Name = '$Name'; > > > > > > > > > Here $Name is what users' input maybe JOHN, john. How to let it match > > > John in table and find that record? > > > > Although you can simply do as another poster said and use the ILIKE > > operator, there are a few things you may want to consider. > > > > You can also do something like: > > > > "SELECT name FROM mytable WHERE lower(name) = '" . strtolower($Name) . > > "'; " > > > > This means that PostgreSQL will use an index, if there is an index on > > lower(name): > > > > CREATE INDEX lcname ON mytable( lower(name) ); > > > > This will give you the most efficient access if you have many records in > > 'mytable', whereas ILIKE will require a full-table scan. > > > > Regards, > > Andrew. > > -- > Hervé Piedvache > > Elma Ingénierie Informatique > 6 rue du Faubourg Saint-Honoré > F-75008 - Paris - France > Tel. 33-144949901 > Fax. 33-144949902 > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@xxxxxxxxxxxxxx