<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>DIV {
        MARGIN: 0px
}
</STYLE>
<META content="MSHTML 6.00.5730.11" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Para os que estão tentando ajudar a Patty, pelo
quen deu para notar, pelo primeiro email dela, é que ela tem três instruções de
SQL e quer executa-las.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV>my $sql=qq{INSERT into table1(Nome,DataHora) values($nome,'$datahora') on
duplicate key update $variavels='$result_flags'; };<BR>my $sql1=qq{INSERT
into table1(Nome,DataHora) values($nome,'$datahora1') on duplicate key
update $variavels='$result_flags'; };<BR>my $sql2=qq{INSERT into
table1(Nome,DataHora) values($nome,'$datahora2') on duplicate key update
$variavels='$result_flags'; };<BR><BR><FONT color=#ff0000>my
$sql_insert=$sql."\n"..$sql1."\n".$sql_2;<BR></FONT>$sth =
$dbh->prepare($sql_insert) || die $DBI::errstr;<BR>$sth->execute || die
$DBI::errstr;<BR></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>No caso, nesse primeiro email, o objetivo dela é
pegar as três instruções SQL e executa-las de uma vez apenas.</FONT></DIV>
<DIV><FONT face=Arial size=2>Ou seja, executar as três instruções num único
execute, como um bloco de instruções SQL.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Acho que para ela, uma orientação de como
concatenar as três strings de instruções em uma só e, como fazer o
execute </FONT> entender e executar essa única "stringzona" já é mais
do que suficiente para resolver o problema dela.</DIV>
<DIV>Eu não tenho recursos para isso.</DIV>
<DIV>Muito provavelmente alguém da lista tem de sobra.</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=ptfzs@yahoo.com.br href="mailto:ptfzs@yahoo.com.br">Patty Silva</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=cascavel-pm@pm.org
href="mailto:cascavel-pm@pm.org">Cascavel Perl Mongers</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, January 25, 2007 4:25
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [Cascavel-pm] Res: Res: Duvida
$dbh->prepare</DIV>
<DIV><BR></DIV>
<DIV
style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman, new york, times, serif">
<DIV
style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman,new york,times,serif">Ola
Luis..<BR><BR>1. Mensagem de erro;<BR><BR>DBD::mysql::st execute failed: You
have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near ''NOME'=''BlABLA''' at
line 1 at sql line 50.<BR>rollback ineffective with AutoCommit enabled at sql
line 57.<BR>Rollback ineffective while AutoCommit is on at sql line
57.<BR>DBD::mysql::db rollback failed: Rollback ineffective while AutoCommit
is on at sql line 57.<BR>DBD::mysql::db rollback failed: Rollback ineffective
while AutoCommit is on at sql line 57.<BR><BR><BR><BR>2. Nome e versão da sua
base de dados;<BR><BR>Mysql - 5.0<BR><BR>3. Nome e versão do seu sistema
operacional;<BR><BR>Linux, SUSE 10.2<BR><BR>4. Versão do seu perl;<BR><BR>This
is perl, v5.8.8 built for i586-linux-thread-multi<BR><BR><BR><BR>E continua
dando o erro :(<BR><BR>Nao consegui excluir as aspas que ele coloca no
?=?
"NOME"<BR><BR><BR>[]sss<BR><BR><BR><BR><BR><BR><BR><BR>
<DIV
style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman,new york,times,serif">-----
Mensagem original ----<BR>De: Luis Motta Campos
<luismottacampos@yahoo.co.uk><BR>Para: Cascavel Perl Mongers
<cascavel-pm@pm.org><BR>Enviadas: Quinta-feira, 25 de Janeiro de 2007
15:46:57<BR>Assunto: Re: [Cascavel-pm] Res: Duvida $dbh->prepare<BR><BR>
<DIV>On Jan 25, 2007, at 4:36 PM, Patty Silva wrote:<BR>> my $sql = qq/
INSERT INTO $table(Nome,DataHora) VALUES(?,?) ON <BR>> DUPLICATE
KEY UPDATE ?=? /;<BR><BR>> So que ele da erro de Sintaxe quando ele atribui
o ?=? eu acho q <BR>> ele coloca uma aspas...<BR>> :D Alguem
saberia dzer o pq??<BR><BR> Oies,
Patty.<BR> Olha, você não está ajudando mais uma vez, não postando
mensagens <BR>de erro, nem contando para a gente que base de dados
você está <BR>usando. Eu estou implementando código para a sua base
de dados sem <BR>nem mesmo saber que base é
essa...<BR><BR> E me parece que você deveria passar o valor para o
último <BR>placeholder protegido por aspas:<BR><BR>
$flag=q{'BLABLA'};<BR><BR> Está vendo? Eu incluí um par de "'"
(aspas), mudando o operador de <BR>single-quote do perl (com
q{}).<BR> Isso deve "enganar" seu banco de dados, e evitar o erro
de sintaxe.<BR> Me envia por favor as informações que
faltam:<BR><BR> 1. Mensagem de erro;<BR> 2. Nome e
versão da sua base de dados;<BR> 3. Nome e versão do seu sistema
operacional;<BR> 4. Versão do seu perl;<BR> 5. Versão
do seu DBI;<BR> 6. Nome e versão do DBI::DBD que você está
usando.<BR><BR> Putósculos prá você, putamplexos para a galera do
Perl... ;-)<BR>--<BR>Luis Motta Campos is software engineer,<BR>perl fanatic
evangelist, and amateur {cook,
photographer}<BR><BR><BR>_______________________________________________<BR>Cascavel-pm
mailing list<BR>Cascavel-pm@pm.org<BR><A
href="http://mail.pm.org/mailman/listinfo/cascavel-pm"
target=_blank>http://mail.pm.org/mailman/listinfo/cascavel-pm</A><BR></DIV></DIV><BR></DIV></DIV><BR>__________________________________________________<BR>Fale
com seus amigos de graça com o novo Yahoo! Messenger
<BR>http://br.messenger.yahoo.com/
<P>
<HR>
<P></P>_______________________________________________<BR>Cascavel-pm mailing
list<BR>Cascavel-pm@pm.org<BR>http://mail.pm.org/mailman/listinfo/cascavel-pm</BLOCKQUOTE></BODY></HTML>