On 20/05/13 14:35, Gilles wrote:
Hello,

I'm not sure if it's a bug :

No, it's not - it's PHP code :-)


$o_sqlite3=new SQLite3('test.sqlite');

$r=$o_sqlite3->exec('');
echo'<pre>';var_dump($r);echo'</pre>'; // bool(true)

$r=$o_sqlite3->query('');
echo'<pre>';var_dump($r);echo'</pre>';  // bool(false)

$r=$o_sqlite3->exec(false);
echo'<pre>';var_dump($r);echo'</pre>';  // bool(true)

$r=$o_sqlite3->query(false);
echo'<pre>';var_dump($r);echo'</pre>';  // bool(false)


Best,


System Windows NT 5.1 build 2600 (Windows XP Professional Service Pack
3) i586 WIN XP SP3
PHP Version 5.4.13
SQLite3 module version     0.7
SQLite Library     3.7.7.1

Tried your code on a MacBook OS X 10.6 with PHP 5.3.15 - same result.

What's your question: the difference in response between exec() and query(), or the fact that a non-SQL statement does yield some result - albeit a boolean ?

If it's the first one, I think it is intentional:
http://be.php.net/manual/en/sqlite3.exec.php says exec() is meant for result-less statements. So as long as something doesn't fail, it's OK.
query() is supposed to return results - if it doesn't, something is wrong.

But that is just my interpretation of the man page.
Is there a problem beneath you're trying to solve ?

Regards,

Bert

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to