in reply to DBI and last_insert_id
Do you have RaiseError active? It seems that you pass an SQL string with four placeholders to prepare, but only pass three to execute. If execute fails, I wouldn't be suprised if last_insert_id() returned some garbage (although an error message would be useful).
Re^2: DBI and last_insert_id
by cog (Parson) on Jan 29, 2009 at 11:24 UTC
|
I wish that would be the problem, but unfortunately it isn't. There are indeed four placeholders and I'm passing three to execute, but that's just because I edited the code to post it here and missed that. The number of arguments I'm passing in the actual code is correct.
I also have RaiseError active. The INSERT statement definitely works, as later on I can see the row is in the database. It's just that the entry I'm inserting in the other table using the last_insert_id() has the wrong id. | [reply] [d/l] [select] |
|
In future, please test that the code you post here does exhibit the same behaviour as you describe.
| [reply] |
|