Ir para conteúdo
Fórum Script Brasil
  • 0

Retirando ; de uma string


Diego.G.A

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

Comando sql:

[color="#0000ff"]Insert Into alunos Values('800252','','','S','PASS;SANTO ANTONIO','SACRAMENTA','BELEM','PA','','','','','','','','PASS;SANTO ANTONIO','','SACRAMENTA','BELEM','PA','','2008','1' );[/color]
Comando que chama a função que faz as trocas
$SQL = str_replace("Delete from ALUNOS;", "", $SQL);
                    $clausulas = explode(";", $SQL);
                    $flag = 0;
                    $Relatorio[$flag] = "";
            
                    foreach($clausulas as $consultaSQL){
            
                        $consultaSQL = str_replace("ALUNOS", "alunos", $consultaSQL);
                        $consultaSQL = str_replace(",'2007','1'", "", $consultaSQL);    
                        $consultaSQL = str_replace(",'2007','2'", "", $consultaSQL);
                        $consultaSQL = str_replace("", "", $consultaSQL);
                        //$consultaSQL = filtroConsultaSQL($consultaSQL);
                        $consultaSQL = $selecionar->montaConsulta($consultaSQL);
                        
                        if(@mysql_query($consultaSQL)){
                            continue;
                        } else {
                            //exit("<b>Consulta: </b>".$consultaSQL."<hr><b>Erro: </b>".mysql_error());
                            
                            $Relatorio[$flag] = $consultaSQL;
                            $flag += 1; 
                        }
                    }
função que faz os replaces
function montaConsulta($consultaSQL) {
        $arr = explode("','",$consultaSQL);
        $num = count($arr);
        if($num == 22) {
            $consultaSQL = "";
            $i = 0;
            foreach($arr as $valor) {
                $i++;
                    if(($i != 22) and ($i != 1)) {
                        $str = str_replace("'","",$valor);
                        //$str = str_replace(";","",$str);
                        $str = str_replace("\\","",$str);
                    } else {
                        $str = $valor;
                    }
                if($i == 1) {
                    $consultaSQL .= $str."',";
                } else if($i == 22) {
                    $consultaSQL .= "'',";
                } else {
                    $consultaSQL .= "'".$str."',";
                }
            }
            $consultaSQL .= "'','');";
        } else {
            if($num == 24) {
                $consultaSQL = "";
                $i = 0;
                foreach($arr as $valor) {
                    $i++;
                    if(($i != 24) and ($i != 1)) {
                        $str = str_replace("'","",$valor);
                        //$str = str_replace(";","",$str);
                        $str = str_replace("\\","",$str);
                    } else {
                        $str = $valor;
                    }
                    if($i == 1) {
                        $consultaSQL .= $str."',";
                    } else if($i == 24) {
                        $consultaSQL .= "'".$str.";";
                    } else if($i == 23) {
                        $consultaSQL .= "'".$str."',";
                    } else {
                        $consultaSQL .= "'".$str."',";
                    }
                }
                //$consultaSQL .= ",'');";
            }
        }
        //$consultaSQL = $this->bbCode($consultaSQL);
        //$consultaSQL = preg_replace('/;/','',$consultaSQL);
        $arr2 = explode(";",$consultaSQL);
        $count = count($arr2);
        if($count >= 1) {
            $consultaSQL = "";
            foreach($arr2 as $valor) {
                $consultaSQL .= $valor;
            }
        }
        //exit("SQL: ".$consultaSQL."<hr>Num: ".count(explode("','",$consultaSQL))."<hr>Array: ".print_r(explode("','",$consultaSQL)));
        //exit($consultaSQL);
        return $consultaSQL.";";
    }

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...