sql少了一个右括号

在 2010年3月5日 上午10:32,liu peng <[email protected]>写道:

> table_created是一个事件,不是指表是否存在。
>
> 在 2010年3月4日 下午8:01,Anthony WU <[email protected]>写道:
>
> table_created
>> 是指你的表已��存在吧?
>>
>>
>>
>> -------- Original Message --------
>> Subject: [PerlChina] 关于POE::Component::EasyDBI
>> From: liu peng <[email protected]>
>> To: perlchina <[email protected]>
>> Date: 4/3/2010 16:32
>> > 源码如下:
>> > use strict;
>> > use warnings;
>> >
>> > use Data::Dumper;
>> > use Time::HiRes qw(time);
>> > use POE;
>> > use POE::Component::EasyDBI;
>> > use POE::Component::Client::TCP;
>> > use POE::Component::Client::SMTP;
>> > use POE::Component::Net::FTP;
>> > use POE::Filter::Line;
>> >     # Set up the DBI
>> >     POE::Component::EasyDBI->spawn( # or new(), witch returns an obj
>> >         alias       => 'EasyDBI',
>> >         dsn         =>
>> 'DBI:mysql:database=swatdb;host=127.0.0.1;port=3306',
>> >         username    => 'root',
>> >         password    => '',
>> >     );
>> >
>> >     # Create our own session to communicate with EasyDBI
>> >     POE::Session->create(
>> >         inline_states => {
>> >             _start => sub {
>> >                 $_[KERNEL]->post( 'EasyDBI',
>> >                     do => {
>> >                         sql => "CREATE TABLE users (id INT, username
>> > VARCHAR(100)",
>> >                         event => "table_created",
>> >                     }
>> >                 );
>> >             },
>> >
>> >             table_created => sub {
>> >                               print "in table_created\n";
>> >                               my ($kernel, $session, %hash) =
>> ($_[KERNEL], $_[SESSION], %{$_[ARG0]});
>> >
>> >                               print Dumper $session;
>> >                               print "----------------------\n";
>> >                               print Dumper  $_[ARG0];
>> >                               print "----------------------\n";
>> >                               print Dumper  %hash;
>> >
>> >                 $_[KERNEL]->post( 'EasyDBI',
>> >                     insert => {
>> >                         # multiple inserts
>> >                         insert => [
>> >                             { id => 1, username => 'foo' },
>> >                             { id => 2, username => 'bar' },
>> >                             { id => 3, username => 'baz' },
>> >                         ],
>> >                     },
>> >                 );
>> >                 $_[KERNEL]->post( 'EasyDBI' => 'commit' );
>> >                 $_[KERNEL]->post( 'EasyDBI' => 'shutdown' );
>> >             },
>> >         }
>> >     );
>> >
>> > POE::Kernel->run();
>> >
>> > exit 0;
>> >
>> >
>> >
>> > 但运行之后报错:
>> > C:\SWAT\tools\ServerDaemon>perl testmysql.pl
>> > in table_created
>> > $VAR1 = bless( [
>> >                  {},
>> >                  {},
>> >                  {
>> >                    '_start' => sub { "DUMMY" },
>> >                    'table_created' => sub { "DUMMY" }
>> >                  }
>> >                ], 'POE::Session' );
>> > ----------------------
>> > $VAR1 = {
>> >           'sql' => 'CREATE TABLE users (id INT, username VARCHAR(100)',
>> >           'session' => 3,
>> >           'error' => 'POE::Component::EasyDBI was shut down forcibly!',
>> >           'action' => 'do',
>> >           'id' => 0,
>> >           'event' => 'table_created',
>> >           'placeholders' => []
>> >         };
>> > ----------------------
>> > $VAR1 = 'sql';
>> > $VAR2 = 'CREATE TABLE users (id INT, username VARCHAR(100)';
>> > $VAR3 = 'session';
>> > $VAR4 = 3;
>> > $VAR5 = 'action';
>> > $VAR6 = 'do';
>> > $VAR7 = 'error';
>> > $VAR8 = 'POE::Component::EasyDBI was shut down forcibly!';
>> > $VAR9 = 'id';
>> > $VAR10 = 0;
>> > $VAR11 = 'event';
>> > $VAR12 = 'table_created';
>> > $VAR13 = 'placeholders';
>> > $VAR14 = [];
>> >
>> > 用mysql的客户端可以连上数据库的
>> > 请大侠帮忙!
>> >
>> >
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
>> 要取消订阅此网上论坛,请发送电子邮件至 
>> [email protected]<perlchina%[email protected]>
>> 。
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>>
>  --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
> 要取消订阅此网上论坛,请发送电子邮件至 
> [email protected]<perlchina%[email protected]>
> 。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>



-- 
Woosley.Xu

-- 
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 [email protected]。
要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

回复