>[EMAIL PROTECTED]
>Add $dbh -> trace( 4, "file" ); before the do() to see what DBI thinks
is
>happening. 
>Mac :})
Thanks good idea! 
Ok here's my modified perl : ( I did 2 instead of 4 becaus e4 didn't do 
                                        anything )

print $query;
$dbh->trace(2,"trace.txt");
$dbh->do($query) or die "Can not execute $query :" . $dbh->errstr .
"\n";
print $query;

Here is pasted in the output from the above two print $query bits :
        DELETE FROM customer WHERE ID IN ('23','18')
        DELETE FROM customer WHERE ID IN ('23','18')

Here is the content of the trace.txt

DBI::db=HASH(0x81bd0b4) trace level set to 2 in DBI 1.21-nothread
Note: perl is running without the recommended perl -w option
-> do for DBD::mysql::db (DBI::db=HASH(0x81bd03c)~0x81bd0b4 
'DELETE FROM customer WHERE ID IN ('23','.18')')
<- do= 1 at mysql_man.cgi line 404
-> disconnect for DBD::mysql::db (DBI::db=HASH(0x81bd03c)~0x81bd0b4)
imp_dbh->svsock: 8141a44
<- disconnect= 1 at mysql_man.cgi line 47
-> DESTROY for DBD::mysql::db (DBI::db=HASH(0x81bd0b4)~INNER)
<- DESTROY= undef during global destruction

So for some reason the do() seems to be adding a '.' in front of all 
ids except for the first one. No wonder it doesn't match the ids!

I tried a regex to remove periods -> =~ s/\.//g; before the 
print statements and $query doesn't seem to have it when  
printed out with or without the regex.

A few more answers anyway. But why the period added in the do()?

Reply via email to