[PHP/Mysql] REPLACE case insensitive?

Pagina: 1
Acties:

  • Boomerang
  • Registratie: November 2000
  • Niet online
Hallo allemaal,
Ik heb de volgende query:
code:
1
mysql_query("UPDATE post AS SET pagetext = REPLACE(pagetext,'tekst','vervangtekst') WHERE pagetext LIKE '%tekst%'");

Wat nu het probleem is, REPLACE is blijkbaar case sensitive, hij ziet TeKsT bijvoorbeeld niet gelijk aan tekst zoals het hierboven in de query staat.

Weet iemand een oplossing hiervoor?

Bvd,
Boomerang

  • Boomerang
  • Registratie: November 2000
  • Niet online
Het probleem is al opgelost, eerst alle records uit de DB halen die in het veld 'tekst' hebben staan, daarna de string die je uit die query hebt met strtolower() (http://www.php.net/manual/en/function.strtolower.php) bewerken. En vervolgens met de string die je dan hebt de uiteindelijke query uitvoeren.

Zoals dit dus:
PHP:
1
<?$mysql = mysql_query("SELECT pagetext FROM post WHERE pagetext LIKE '%tekst%'");while($row = mysql_fetch_object($mysql)) {$lowerpagetext = strtolower($row->pagetext);}mysql_query("UPDATE post SET pagetext = REPLACE('$lowerpagetext','tekst','vervangtekst') WHERE pagetext LIKE '%tekst%'");echo "Done!";?>

Als iemand een nettere oplossing heeft hoor ik het graag :)

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

gewoon de sql-functie lower gebruiken in je update statement.
Bedenk wel dat alle regels die je vervangt nu compleet in lowercase zijn (ook in jouw oplossing)!