ID: 29476
Updated by: [EMAIL PROTECTED]
Reported By: hugo_pl at users dot sourceforge dot net
-Status: No Feedback
+Status: Open
Bug Type: SQLite related
Operating System: GNU/Linux, WindowsXP
-PHP Version: 5.0.0
+PHP Version: 5.1.3-dev
New Comment:
Same error with 5.1.2 (release). However, on 5.1.3-dev,
the script simply hangs. Tested using the above, posted by
jwellis.
Previous Comments:
------------------------------------------------------------------------
[2005-11-18 16:07:22] jwellis at carlalbert dot edu
This is still a problem in PHP 5.1.0RC5-dev.
here is my reproduction code:
----------------------------
$database_path = "sqlite_db1";
$db = new SQLiteDatabase($database_path);
// sqlite_db1 has a table called t1 with the colums id (int) and stuff
(text) //
$db->query("INSERT INTO t1 (stuff) VALUES ('something');", SQLITE_NUM,
$db_error);
print $db->changes() ." rows affected<br>\n";
//-----// This is the part that breaks it //-----//
$table_cols = $db->fetchColumnTypes("t1", SQLITE_ASSOC);
foreach($table_cols as $col => $type) {
print"\t$col: $type<br>\n";
}
//-------------------------------------------------//
$db->query("INSERT INTO t1 (stuff) VALUES ('something');", SQLITE_NUM,
$db_error);
print $db->changes() ." rows affected<br>\n";
------------------------------------------------------------------------
[2005-09-30 17:51:07] madcoder at debian dot org
bug is still present in PHP 5.0.5/Debian
------------------------------------------------------------------------
[2005-03-14 01:00:22] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2005-03-06 22:09:42] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
------------------------------------------------------------------------
[2004-08-25 06:56:48] hugo_pl at users dot sourceforge dot net
Hi
I think that this is a PHP bug, I made a better exemple to
show this bug:
<pre>
<?php
try {
$db = new SQLiteDatabase('./test.db');
$db->busyTimeout(1000);
// table exists?
$exists = $db->singleQuery('SELECT count(*) FROM
sqlite_master WHERE tbl_name=\'bugtest\'');
if (!$exists)
$db->query('CREATE TABLE bugtest (a, b, c,
d);');
// Without this line all runs Ok.
$db->fetchColumnTypes('bugtest');
$db->query('INSERT INTO bugtest VALUES (1, 2, 3,
4)');
echo 'Res: <br>';
print_r( $db->arrayQuery('SELECT * FROM bugtest',
SQLITE_ASSOC) );
}
catch (Exception $e)
{
echo 'Exception: ', $e->getMessage();
}
?>
The first time you run this script all appear to be Ok...
the insert query is executed, etc... but the second time
is displayed a message:
Warning: SQLiteDatabase::query() [function.query]:
database is locked in /home/hugo/public_html/phpbug.php on
line 16
Nothing is wrong with the script, if this message appear
something is wrong with PHP.... on windows the same bug
occur, then it is not a problem from SQLite or Apache
compiled by me under linux.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/29476
--
Edit this bug report at http://bugs.php.net/?id=29476&edit=1