Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: DBD::mysql "Column count doesn't match value count"

by Paladin (Priest)
on Nov 28, 2006 at 18:29 UTC ( #586549=note: print w/ replies, xml ) Need Help??


in reply to DBD::mysql "Column count doesn't match value count"

Shouldn't this:

INSERT into monica.event (msg, source, situation, version, date, hostn +ame, last_uid, sub_origin, component, guid, severity, adapter_host) v +alues (????????????)

actually be:

INSERT into monica.event (msg, source, situation, version, date, hostn +ame, last_uid, sub_origin, component, guid, severity, adapter_host) v +alues (?,?,?,?,?,?,?,?,?,?,?,?)
Replace the line:
my $places = join ', ', ('?' x scalar keys %slots);
with
my $places = join ', ', (('?') x scalar keys %slots);


Comment on Re: DBD::mysql "Column count doesn't match value count"
Select or Download Code
Re^2: DBD::mysql "Column count doesn't match value count"
by Random_Walk (Parson) on Nov 28, 2006 at 18:40 UTC

    Yes it should ! thank you so much, this is the first time I have used placeholders so I completely missed that. Those two brackets have cost me half my hair today.

    Cheers,
    R.

    Pereant, qui ante nos nostra dixerunt!
Re^2: DBD::mysql "Column count doesn't match value count"
by bart (Canon) on Nov 29, 2006 at 12:19 UTC
    I take the opportunity to point to DBIx::Simple, which provides means to insert this kind of stuff automatically, if you use a double question mark.
    $db->query('INSERT into monica.event (msg, source, situation, version, + date, hostname, last_uid, sub_origin, component, guid, severity, ada +pter_host) values (??)', 'this is a test event, ignore', 'Testing', ' +START', '0.1', '2006-11-28 19:13:18', 'test', '', 'SelectDocument', ' +IT_SERVICE', '623375574', 'CRITICAL', 'this_box');
    Or even, using the SQL::Abstract mode:
    $db->insert('monica.event' => { 'msg' => 'this is a test event, ignore', 'source' => 'Testing', 'situation' => 'START', 'version' => '0.1', 'date' => '2006-11-28 19:13:18', 'hostname' => 'test', 'last_uid' => '', 'sub_origin' => 'SelectDocument', 'component' => 'IT_SERVICE', 'guid' => '623375574', 'severity' => 'CRITICAL', 'adapter_host' => 'this_box' });
    which I like very much.

    DBIxSimple will build the proper SQL statement, and cache the statement handle for you, for if you use it more than once. Which is very neat.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://586549]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2014-07-29 08:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (211 votes), past polls