Joomla.it Forum

Joomla! 1.0.x (versione con supporto terminato) => Le voci di Joomla.it (solo per versione Joomla 1.0.x) => : bartjsp 20 Oct 2008, 22:16:16

: Il metodo mysql_real_escape_string() blocca la query
: bartjsp 20 Oct 2008, 22:16:16
Ho la necessità di inserire un mio script ma purtroppo joomla va in errore.

La stringa incriminata è la seguente:
$query_ip = "SELECT * FROM ingressi WHERE ip = '$ipaddress'";

il sistema di joomla risponde con:
Warning: mysql_real_escape_string(): 15 is not a valid MySQL-Link resource in c:\www\j1014\includes\database.php on line 140

praticamente il metodo "mysql_real_escape_string()" non mi permette di passare nella query il carattere ' (apostrofo)

Come posso aggirare il problema?  ???

Grazie,
ciao.
: Re: Il metodo mysql_real_escape_string() blocca la query
: = odino = 20 Oct 2008, 23:18:06
$query_ip = "SELECT * FROM ingressi WHERE ip = ".$ipaddress.";";

cmunque ricorda che Joomla! necessita di una sintassi tutta sua per le connesioni al DB e le query, ma credo tu abbia già trovato...
: Re: Il metodo mysql_real_escape_string() blocca la query
: bartjsp 20 Oct 2008, 23:47:43
Avevo già provato in questa maniera e non funziona.
: Re: Il metodo mysql_real_escape_string() blocca la query
: = odino = 21 Oct 2008, 01:09:15
cmunque ricorda che Joomla! necessita di una sintassi tutta sua per le connesioni al DB e le query, ma credo tu abbia già trovato...

hai usato la sintassi di Joomla?
: Re: Il metodo mysql_real_escape_string() blocca la query
: bartjsp 21 Oct 2008, 01:26:42
veramente non ho molta esperienza con il mondo di joomla quindi non so proprio qual'è la sintassi che utilizza joomla
: Re: Il metodo mysql_real_escape_string() blocca la query
: = odino = 21 Oct 2008, 10:16:28
veramente non ho molta esperienza con il mondo di joomla quindi non so proprio qual'è la sintassi che utilizza joomla

ah ok, ecco come devi passare connesione e query:

:
$db_conn =& JFactory::getDBO();
$query = "SELECT id FROM #__content ORDER BY id DESC";
$dbo_conn->setQuery( $query );
$id =& $db_conn->loadResultArray();

( query X di esempio... )
: Re: Il metodo mysql_real_escape_string() blocca la query
: bartjsp 22 Oct 2008, 14:02:09
Ma questo codice naturalmente lo inserisco in un nuovo file che poi richiamo nella pagina dove voglio visualizzare il contatore giusto ?

Un'altra cosa, come devo passargli la condizione WHERE, c'è qualche procedura particolare ?

Grazie tante,
ciao.
: Re: Il metodo mysql_real_escape_string() blocca la query
: = odino = 22 Oct 2008, 16:00:50
No, allora ascolta se stai implementando dentro una struttura di Joomla ( componente, qualsiasi estensione, plugin, etc... ) devi usare la sua sintassi...

Altrimenti se richiami una pagina esterna usi la normale sintassi di MySQL.

la condizione 'where' si "passa" come in una normale query. Effettivamente, facendo parte della query ( che non viene toccata dalla rielaborazione del codice da parte di Joomla! ), non vi sono differenze...
: Re: Il metodo mysql_real_escape_string() blocca la query
: bartjsp 22 Oct 2008, 22:27:01
Tutto risolto, grazie al tuo ultimo post che mi ha fatto riflettere su l'include del file ho trovato l'errore. Io inserivo l'include nel template in uso dopo il tag <head>, in questo modo andava tutto in errore, mentre, mettendolo sotto la barra dei menù lì dove richiamo il contatore, tutto funziona come deve.

Forse la posizione di dove inserisco il file non centra nulla è ho avuto fortuna, ma l'importante è che ho risolto.

Grazie tantissimo per l'aiuto e la pasienza avuta nell'assistermi.

Grazie ancora,
ciao.  ;)