ID:               27621
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jo3 at brats dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         SQLite related
 Operating System: Red Hat Linux release 9 (Shrike)
 PHP Version:      5.0.0b4 (beta4)
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

You are not using sqlite_fetch_array() correctly. The 2nd 

argument is not a row number but rather result_type. 

 

result_type can be used to specify how you want the results 

to be returned. The default value is SQLITE_BOTH which 

returns columns indexed by their ordinal column number and 

by column name. SQLITE_ASSOC causes the array to be indexed 

only by column names, and SQLITE_NUM to be indexed only by 

ordinal column numbers.  


Previous Comments:
------------------------------------------------------------------------

[2004-03-17 03:15:53] jo3 at brats dot com

Description:
------------
configured with --with-sqlite



First execute a sqlite_query() which SELECTS from an sqlite database.



Then determine the number of rows through a sqlite_num_rows() call.



Then for each row, call slite_fetch_array() and then echo some data.



The third fetch will be blank, then every fourth one after that.

Reproduce code:
---------------
slightly more than 20 lines but MOST are just the db inserts.



url is http://gamera.brats.com/sqlite/testnum.php



here is the script:



<?php



main(); /* just call main function */



function main()

{



        $conn = sqlite_open("test.db");



        if (!$conn) {

                echo "A Database Connection Error Occurred.";

                exit;

        }



        $qr = sqlite_query($conn, "DROP TABLE test1;");

        $qr = sqlite_query($conn, "CREATE TABLE test1 (name character
varying(80));");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo0');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo1');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo2');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo3');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo4');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo5');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo6');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo7');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo8');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo9');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo10');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo11');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo12');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo13');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo14');");

        $qr = sqlite_query($conn, "INSERT INTO test1 VALUES('jo15');");

        

        $test_result = sqlite_query($conn, "SELECT * FROM test1;");

        $test_rows = sqlite_num_rows($test_result);

        for($i=0; $i < $test_rows; $i++) {

                $test_array = sqlite_fetch_array($test_result, $i);

                echo "name: " . $test_array["name"] . "<br>\n";

        }



}

?>



Expected result:
----------------
name: jo0

name: jo1

name: jo2

name: jo3

name: jo4

name: jo5

name: jo3

name: jo7

name: jo8

name: jo9

name: jo10

name: jo11

name: jo12

name: jo13

name: jo14

name: jo15



Actual result:
--------------
name: jo0

name: jo1

name:

name: jo3

name: jo4

name: jo5

name:

name: jo7

name: jo8

name: jo9

name:

name: jo11

name: jo12

name: jo13

name:

name: jo15




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=27621&edit=1

Reply via email to