Autor | Zpráva | ||
---|---|---|---|
Perry Profil |
Narazil jsem na zajímavý bug ve fci. preg_replace. Na serveru s PHP 5.2.6 funguje vše jak má, na serveru s PHP 5.2.9 ne...
preg_mach('@SELECT (.*) FROM@', 'SELECT COUNT(*) AS Count FROM', $text); $text = "SELECT a.b, a.c FROM a...." výsledek na 5.2.6: SELECT COUNT(*) AS Count FROM a.... výsledek na 5.2.9: SELECT a.b, a.c FROM a ... //tudíž žádná změna Pokud ovšem udělám $text = "SELECT ahoj FROM a, tak se vše chová stejně na 6 i 9 revizi... Neví někdo, co je blbě ? Popř. jestli je to vážně bug v PHPku ? |
||
tiso Profil |
#2 · Zasláno: 30. 6. 2009, 20:32:37
Perry - začni tým, že sem dáš celý príklad a nie niečo, čo si si vymyslel a napísal s chybami...
|
||
Perry Profil |
#3 · Zasláno: 1. 7. 2009, 09:05:30
tiso: Tohle je celý příklad.
|
||
Mastodont Profil |
#4 · Zasláno: 1. 7. 2009, 09:52:00
Perry
A ten příklad ti chodí? Moje PHP teda funkci preg_mach nezná :) |
||
Perry Profil |
#5 · Zasláno: 1. 7. 2009, 10:59:21
aha :) my bad... preg_replace misto preg_mach :)
|
||
Majkl578 Profil |
#6 · Zasláno: 1. 7. 2009, 13:53:10
vysledek na 5.3.0: SELECT COUNT(*) AS Count FROM a....
|
||
joe Profil |
#7 · Zasláno: 1. 7. 2009, 14:07:52
Možná je to bug, nicméně ti poradím takhle to neprovádět a radši si do metody přidat další vlastnoručně napsaný SQL dotaz pro výpočet řádků. Proč? Protože v tom původním můžeš řádky podle nějakého řadit a to je při počítání řádků zbytečné. Můžeš si na to asi zase napsat nějaký ten preg_replace, ale přijde mi, že je lepší mít kontrolu nad tím, jak ten SELECT COUNT vlastně vypadá...
|
||
Časová prodleva: 15 let
|
0