That's the way the SQL delete statment works. You can execute any delete statement with parameters, and it comes back without any errors.
mysql> DELETE * FROM table WHERE something ='FOOBATBAR WAS HERE';
Query OK, 0 rows affected (0.00 sec)
It's not going to error, it's just doing to return 0 rows, similar to a SELECT statment gone bad. You might want to check to see how many items where returned when you deleted them.
It's hard to give specifics here (I'm not looking at your input or form objects), but here are a few debugging suggestions:
- Have it print out the entire composite SQL query and put it at a mySQL/SQL Server/whateverSQL prompt or debugger, and see where you are going wrong.
- Also, remember always to quote() your SQL injections if you're pulling stuff from form data. The DBI object gives you a quotation method for safe escaping of data. Otherwise, it's a major security risk, even if it doesn't inherently appear to be.
Good luck. Debugging database stuff can be frustrating and tricky.
--
jb