Jump to content

Sqlite3/PDO write lock issue


Recommended Posts

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.

 

/* 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'");
}

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.