Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, bom dia.
Há alguns dias estava com uma dúvida de como executar vários blocos sql no php, isto foi solucionado.
>
Implementei desta maneira a ideia de vocês e funcionou legal.
$comando = "SET @ddatai := str_to_date('01/05/2011', '%d/%m/%Y');
SET @ddataf := str_to_date('31/12/2011', '%d/%m/%Y');
SELECT * FROM CA_TESTE_RET_EFIC B
WHERE
AND date_format( B.DATA_CADASTRO, concat('01/%m/', extract(Year from SYSDATE())) )
between date_format( @ddatai , concat('01/%m/', extract(Year from SYSDATE())))
AND date_format( @ddataf , concat('01/%m/', extract(Year from SYSDATE())))";
$comandos = explode(";",$comando);
foreach($comandos as $sql){
$rs_teste = @mysql_query($sql,$con_teste);
}
Mas agora estou com um problema ao executar quando a váriavel é uma string. É estranho, façam o teste ai, somente foi alterado o tipo de variável. Vejam um exemplo.
$comando = "SET @variavel := '61C019';
select * from CA_ANALISIS_RES where LOTE like @variavel";
$comandos = explode(";",$comando);
foreach($comandos as $sql){
$rs_teste = @mysql_query($sql,$con_teste);
}
Eu simplesmente atribui um valor string para a @variavel. Fiz alguns testes e funcionou normal.
//Isto retorna sem erro o valor da variável.
$comando = "SET @variavel := '61C019';
select @variavel";
//Isto retorna sem erro todo os resultados
$comando = "select * from CA_ANALISIS_RES where LOTE like '61C019'";
Alguém pode me ajudar? Obrigado pessoal.
Carregando comentários...