ID: 45798 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Assigned Bug Type: SQLite related Operating System: OSX PHP Version: 5.3.0alpha1 -Assigned To: +Assigned To: scottmac New Comment:
Assign to maintainer Previous Comments: ------------------------------------------------------------------------ [2008-08-12 13:11:17] [EMAIL PROTECTED] Description: ------------ If a prepared statement is executed while the bound variable doesn't exist, or is NULL, PHP freeze and wait. I tweaked the test also to use SQLITE3_NULL instead of SQLITE3_TEXT, and NULL or !isset($foo) also froze PHP. Reproduce code: --------------- <?php $db = new SQLite3(':memory:'); // création d'une table $db->exec('CREATE TABLE test (time INTEGER, id STRING)'); $db->exec("INSERT INTO test (time, id) VALUES (" . time() . ", 'a')"); $db->exec("INSERT INTO test (time, id) VALUES (" . time() . ", 'b')"); $stmt = $db->prepare("SELECT * FROM test WHERE id = ? ORDER BY id ASC"); //$foo = 'a'; works OK //$foo = NULL; also freeze $stmt->bindParam(1, $foo, SQLITE3_TEXT); $results = $stmt->execute(); while ($result = $results->fetchArray(SQLITE3_NUM)) { var_dump($result); } $results->finalize(); $db->close(); ?> Expected result: ---------------- I would expect PHP to return from execute with an error. Actual result: -------------- PHP freeze, doing nothing. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45798&edit=1