ahhhhh.... Man my head hurts with all this table banging.
I'm having an issue with Sqlite not allowing me to write (UPDATE) to a table that i have just done a SELECT query on because it is "Locked" in a read only state. I have found a few articles on the web about this, but the suggested fix's seem not to work in my case. Any help is so much appreciated. Here's my code. I have commented as much as possible. I have also omitted some error checking code to trim this post.
You will see at the last db_query() is where its failing. My quetions is... How do i get the UPDATE query to work on table that was just SELECT queried? Thanks much for the help.
Code:/* connect to the database (works) */ $dbHandle = new PDO('sqlite:'.$CFG->baseroot.'/db/mmt.db3'); function db_query($query) { global $dbHandle; /* load the query (works) */ $handle = $dbHandle->query($query); /* check to see if Fetch is necessary (works) */ if (substr($query,0,6) <> 'UPDATE') { /* do the fetch (works) */ $qr = $handle->fetch(); } /* fix that releases the lock (doesn't work) */ $handle=null; return $qr; } /* run the select query (works) */ $user = db_query("SELECT first_name FROM user WHERE id = '5'"); /* do the if (works) */ if ($user['name'] == 'John') { /* run the update. (this does not work and throws an error) */ db_query("UPDATE user SET last_name = 'Doe' WHERE first_name = 'John'"); }




Bookmarks