Oznámení
Omlouváme se, provoz fóra byl ukončen
Nefunkční regulární výraz
Upozornění: Tohle vlákno je hodně staré.
před 9 lety
- one-two
- Člen | 80
Zdravim,
dibi mi normálně v nette funguje, co ale nejsem schopnej dát dohromady je
REGEXP. Zkoušel sem toto, ale laděnka hlásí chybu v syntaxy
<?php
public function abcd($letter) {
return dibi::query("SELECT [first_name], [last_name] FROM [lecturer] WHERE [last_name] REGEXP '^%s'", $letter);
}
?>
netuší někdo co s tím? pokud zadám míst %s ručně písmeno tak to funguje.
před 9 lety
- Milo
- Nette Core | 1119
To je podobný problém jako s LIKE (najdeš na fóru). To co jsi psal se přeloží cca takto:
$letter = 'xxx';
"[last_name] REGEXP '^%s'", $letter
// `last_name` REGEXP '^'xxx''
Nejjednudušší je udělat to takto:
$letter = "'^" . mysql_escape_string( $letter ) . "'";
"[last_name] REGEXP %sql", $letter
// `last_name` REGEXP '^xxx'
před 9 lety
- blacksun
- Člen | 181
A co třeba spíš
<?php
public function abcd($letter) {
$letter = '^' . $letter;
return dibi::query("SELECT [first_name], [last_name] FROM [lecturer] WHERE [last_name] REGEXP %s", $letter);
}
?>