Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    22

    PHP problema doppi apici all'interno di una query SQL

    Salve a tutti! Ho un problema che proprio non riesco a risolvere.

    Questa è la query:

    Codice PHP:
    $query "SELECT CONCAT('<a href="http://xxx.it/view.php?id=', userid, '">', collegamento, '</a>') FROM table WHERE id=3;"; 
    Il problema è che, giustamente, essendo dei doppi apici all'interno della query, non mi funziona.
    Navigando per cercare una soluzione ho trovato la possibilità di utilizzare
    Codice PHP:
    chr(34
    come sostitutivo dei doppi apici (precedentemente avevo gia testato l'utilizzo del singolo apice ma senza successo) diventando cosi:

    Codice PHP:
    $query "SELECT CONCAT('<a href=chr(34)http://xxx.it/view.php?id=', userid, 'chr(34)>', collegamento, '</a>') FROM table WHERE id='3';"
    Con questa soluzione la query viene calcolata e mi viene creato il collegamento ipertestuale, quando prima questo non accadeva proprio, ma lavorando sul server mi concatena l'indirizzo http://xxx.it all'indirizzo del mio server, quando invece http://xxx.it/ è un sito esterno al server (come dire google.it).

    Qualcuno mi può aiutare?
    Ringrazio in anticipo

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    http://php.net/manual/it/language.types.string.php

    To specify a literal single quote, escape it with a backslash (\). [...] As in single quoted strings, escaping any other character will result in the backslash being printed too.
    Ciò significa che se voglio scrivere
    codice:
    $var = "la mia è una "prova", nulla di più.";
    allora dovrò fare l'escape in questo modo:

    codice:
    $var = "la mia è una \"prova\", nulla di più.";

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    22
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    http://php.net/manual/it/language.types.string.php



    Ciò significa che se voglio scrivere
    codice:
    $var = "la mia è una "prova", nulla di più.";
    allora dovrò fare l'escape in questo modo:

    codice:
    $var = "la mia è una \"prova\", nulla di più.";


    Grazie milleeeeeeee!!!!!
    Problema risolto!

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.