dorich Posted July 6, 2011 Share Posted July 6, 2011 Reference: Chapter 12 "Updating Data In A Database" Problem: Using the script from the book my version is failing when it comes to submitting the edits. Description: I took the script from the book and made small modifications for my own application - the changes were purely things like database name, field names etc. When the script I typed out failed I took the original downloaded script and merely modified it to suit my application but it still failed. Symptoms: The error message is Could update the entry because: . The query was UPDATE link_problems SET description='Please add as much description as you can about the problem you noticed', url_problem='Destination' WHERE ID=17. Note that there is no mysql error in the feedback. Question: What is the best way to troubleshoot a problem like this where the script fails on the submit. I assume the problem is at my end and that there is something wrong with the either my setup or the minor changes I made to the script but I'm unclear how to troubleshoot. NOTE: The word "not" is missing in the feedback message in the original script(download version). FYI, although I assume this was corrected in later editions. Thanks Link to comment Share on other sites More sharing options...
Larry Posted July 7, 2011 Share Posted July 7, 2011 The standard PHP-MySQL debugging techniques are to print out the query being run, which the code already does, and run that very same query using another interface, such as phpMyAdmin or the mysql client. That way you can directly see the MySQL result. Link to comment Share on other sites More sharing options...
dorich Posted July 8, 2011 Author Share Posted July 8, 2011 The standard PHP-MySQL debugging techniques are to print out the query being run, which the code already does, and run that very same query using another interface, such as phpMyAdmin or the mysql client. That way you can directly see the MySQL result. Larry: Thanks that was what I needed. One thing I noted in debugging is that if I go to the edit entry page, don't make any edits but still click on the submit button I get the same error as reported above: Could not update the entry because: . The query was UPDATE...............WHERE ID=3. Since I didn't make any fundamental changes to the script I have to assume that this is the expected behavior. However, I assume that in a production situation this is something to be avoided? Assuming that this is not a problem I created can you point me to any resources that describe how to overcome this behavior. Thanks Link to comment Share on other sites More sharing options...
Larry Posted July 9, 2011 Share Posted July 9, 2011 You're quite welcome. As for what you're experiencing, this is how MySQL behaves: if you run an UPDATE query that works (i.e., executes without error) without actually changing any values, then the number of affected rows is 0. If your PHP scripts just checks the number of affected rows, it'll seem like there was a problem when there wasn't. The alternative is just to check that the query ran without error. Link to comment Share on other sites More sharing options...
Recommended Posts