Back to top

Autore Topic: Il metodo mysql_real_escape_string() blocca la query  (Letto 3532 volte)

Offline bartjsp

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
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.
« Ultima modifica: 20 Ott 2008, 22:19:02 da bartjsp »
Ciucciati il calzino (Bart Simpson)

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #1 il: 20 Ott 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...

Offline bartjsp

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #2 il: 20 Ott 2008, 23:47:43 »
Avevo già provato in questa maniera e non funziona.
Ciucciati il calzino (Bart Simpson)

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #3 il: 21 Ott 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?

Offline bartjsp

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #4 il: 21 Ott 2008, 01:26:42 »
veramente non ho molta esperienza con il mondo di joomla quindi non so proprio qual'è la sintassi che utilizza joomla
Ciucciati il calzino (Bart Simpson)

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #5 il: 21 Ott 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:

Codice: [Seleziona]
$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... )

Offline bartjsp

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #6 il: 22 Ott 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.
Ciucciati il calzino (Bart Simpson)

Offline = odino =

  • Instancabile
  • ******
  • Post: 5696
  • Sesso: Maschio
  • "In realtà li trasforma in menomati" Danzel
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #7 il: 22 Ott 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...

Offline bartjsp

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re: Il metodo mysql_real_escape_string() blocca la query
« Risposta #8 il: 22 Ott 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.  ;)
Ciucciati il calzino (Bart Simpson)

 



Web Design Bolzano Kreatif