Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re^2: error ..ON DUPLICATE KEY UPDATE value='''

by mje (Curate)
on Aug 02, 2013 at 16:54 UTC ( #1047628=note: print w/replies, xml ) Need Help??

in reply to Re: error ..ON DUPLICATE KEY UPDATE value='''
in thread error ..ON DUPLICATE KEY UPDATE value='''

Have you got DBI's RasieError set? Look for a call to DBI->connect and see if RaiseError => 1. If yes, then your call to do on line 14 just before your Dumper call will die and all your seeing in the Dumper output is from the last successful call and not the one that is failing. If so do:

eval { $dbh->do($sql); }; if (my $ev = $@) { print Dumper($sq); die $ev; }

Now you'll only get Dumper output for the failing case.

Replies are listed 'Best First'.
Re^3: error ..ON DUPLICATE KEY UPDATE value='''
by nafri (Initiate) on Aug 02, 2013 at 23:09 UTC
    RaiseError => 1 is set. the error i get now is this..
    $VAR1 = 'INSERT INTO products_features (product_id, feature_id, value) VALUES (5652151, , \'\') ON DUPLICATE KEY UPDATE value=\'\'';
    looks like the feature_id, value is empty here..What can i do to fix this..
      What values should be inserted? If a blank feature_id is valid, supply a NULL (no quotes). If it is not valid, then skip that record.
        thanks all of you.. i finally sorted it out.. i changed the function to this and it works
        if($prodid && $cat_featureid && $value){ my $sql = "INSERT INTO products_features (product_id, feature_id, +value) VALUES (".$prodid.", ".$cat_featureid.", ".$dbh->quote($value) +.") ON DUPLICATE KEY UPDATE value=".$dbh->quote($value); $dbh->do($sql); }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1047628]
and one hand claps...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2017-08-21 03:33 GMT
Find Nodes?
    Voting Booth?
    Who is your favorite scientist and why?

    Results (317 votes). Check out past polls.