Pagina 5 di 5 primaprima ... 3 4 5
Visualizzazione dei risultati da 41 a 48 su 48
  1. #41
    Quote Originariamente inviata da boots Visualizza il messaggio
    Guarda basta che fai:
    Codice PHP:
    $array FixSQL($array);
    foreach(
    $array as $example){
       ...

    Cmq, non mi spiego perchè non ti funzioni $pdo->quote()
    codice:
    $MIOARRAY = array($elemento1,$elemento2);
    
      function FixSQL( $param=array() )
      {
        $stringa = serialize($param);
        // error_log($stringa, 0);
        $stringa = str_replace("'", "''" , $stringa);
        $stringa = str_replace("%", "[%]", $stringa);
        $stringa = str_replace("[", "[[]", $stringa);
        $stringa = str_replace("]", "[]]", $stringa);
        $stringa = str_replace("_", "[_]", $stringa);
        $stringa = str_replace("#", "[#]", $stringa);
        // error_log($stringa, 0);
        return unserialize($stringa);
      }
    $array = FixSQL($MIOARRAY);
    
    
    foreach ($array as $example){...}
    Non funziona!!!!!!!!!
    Ultima modifica di supersqualo; 24-01-2018 a 17:57

  2. #42
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    In che senso? hai visto se effettivamente ti mette due apici ?

  3. #43
    Quote Originariamente inviata da boots Visualizza il messaggio
    In che senso? hai visto se effettivamente ti mette due apici ?
    Si! E non ottengo risultati prova tu stesso...

    http://sandbox.onlinephpfunctions.co...b78bc60bc27ffe

  4. #44
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Mi sa che la funzione che ti hanno passato non tiene conto che modificando la dimensione della stringa, poi la unserialize non riesce a ricostruire l'array.
    Difatti nel link che hai postato, c'è un errore. Prova a cambiarla così:
    Codice PHP:
    function FixSQL( &$param=array() ) {
        for(
    $i=0$icount($param); $i++){
            
    $param[$i] = str_replace("'""''" $param[$i]);
            
    $param[$i] = str_replace("%""[%]"$param[$i]);
            
    $param[$i] = str_replace("[""[[]"$param[$i]);
            
    $param[$i] = str_replace("]""[]]"$param[$i]);
            
    $param[$i] = str_replace("_""[_]"$param[$i]);
            
    $param[$i] = str_replace("#""[#]"$param[$i]);
        }  
    }
    FixSQL($MIOARRAY);
    print_r$MIOARRAY); 

  5. #45
    Quote Originariamente inviata da boots Visualizza il messaggio
    Mi sa che la funzione che ti hanno passato non tiene conto che modificando la dimensione della stringa, poi la unserialize non riesce a ricostruire l'array.
    Difatti nel link che hai postato, c'è un errore. Prova a cambiarla così:
    Codice PHP:
    function FixSQL( &$param=array() ) {
        for(
    $i=0$icount($param); $i++){
            
    $param[$i] = str_replace("'""''" $param[$i]);
            
    $param[$i] = str_replace("%""[%]"$param[$i]);
            
    $param[$i] = str_replace("[""[[]"$param[$i]);
            
    $param[$i] = str_replace("]""[]]"$param[$i]);
            
    $param[$i] = str_replace("_""[_]"$param[$i]);
            
    $param[$i] = str_replace("#""[#]"$param[$i]);
        }  
    }
    FixSQL($MIOARRAY);
    print_r$MIOARRAY); 
    Ok ora funziona...anche se non ho risolto! l'elemento contiene ' non ' quindi niente da fare

  6. #46
    Quote Originariamente inviata da supersqualo Visualizza il messaggio
    l'elemento contiene ' non ' quindi niente da fare
    questa è tutt'altra storia. bonifica il tuo db (bastano delle replace mirate)

  7. #47
    Nono nel db è ok c'è il single quote '
    nell'array ho '

  8. #48
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Allora usa la html_entity_decode() su ogni elemento dell array per convertire l'entità nel carattere corrispondente.
    Presumo quindi che ti funzioneranno sia PDO:quote che i prepared statements

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 © 2024 vBulletin Solutions, Inc. All rights reserved.