n° 219
Novembre 2017
Dicembre 12, 2017, 11:37:04 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Problema preg_replace in AdoDb  (Letto 2151 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
morriluca
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 5


Mostra profilo E-mail
« inserita:: Agosto 11, 2016, 05:49:55 »

Ciao a tutti.
Non riesco a risolvere questo Bug di AdoDb.


Adodb ad un certo punto nella classe adodb-lib.inc.php ha bisono di fare una sostituzione della query che gli viene passata tramite questo codice

Codice:
$rewritesql = preg_replace('/^\s*?SELECT\s.*?\s+(.*?)\s+FROM\s/is','SELECT COUNT(*) FROM ',$sql);

Nei casi tradizionali funziona, come per esempio : SELECT * from clienti -> SELECT COUNT(*) FROM clienti.

Il bug si presenta quanto ho una select di questo tipo:
Codice:
SELECT * FROM `aziende` WHERE id_azienda IN ( SELECT id_azienda from aziende_users where id_user = '3' ) ORDER BY id_azienda DESC
dove diventa
Codice:
SELECT COUNT(*) FROM aziende_users where id_user = '30520d92-31d0-d774-2eda-5717c6c865f9' ) ORDER BY id_azienda DESC
invece di
Codice:
SELECT COUNT(*) FROM `aziende` WHERE id_azienda IN ( SELECT id_azienda from aziende_users where id_user = '3' ) ORDER BY id_azienda DESC.

Come si può modificare il preg_replace in modo che funzioni? non sono riuscito a modificarlo in modo corretto.
Grazie
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines