$result = sqlite_query($db, 'SELECT * FROM quotes'); sqlite_fetch_array($result);
|
The function sqlite_exec() from the previous phrase is very quick performing; however, it is not possible to access return values from the SQL statement sent with it. For this, sqlite_query() must be used. This function returns a handle of the resultset of the query. The following functions can then be used to iterate over the resultset: sqlite_fetch_arrray() returns the current row in the resultset as an associative array (field names become keys) and moves farther to the next row. sqlite_fetch_object() returns the current row in the resultset as an object (field names become properties) and moves farther to the next row. sqlite_fetch_all() returns the complete resultset as an array of associative arrays. Retrieving Data from SQLite (sqlite_fetch.php; excerpt) <table> <tr><th>#</th><th>Quote</th><th>Author</th><th>Year< /th></tr> <?php if ($db = @sqlite_open('quotes.db', 0666, $error)) { $result = sqlite_query($db, 'SELECT * FROM quotes'); while ($row = sqlite_fetch_array($result)) { printf( '<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></ tr>', htmlspecialchars($row['id']), htmlspecialchars($row['quote']), htmlspecialchars($row['author']), htmlspecialchars($row['year']) ); } sqlite_close($db); } else { printf('<tr><td colspan="4">Connection failed: %s</td></tr>', htmlspecialchars($error)); } ?> </table> The preceding listing shows how to access all data within the resultset using sqlite_fetch_array(). A while loop calls this function as long as it returns something other than false (which means that there is no data left). TIP Using sqlite_fetch_all() reads the whole resultset into memory at once. So, if you do not have much data, this is the best-performing method. If you have more data, an iterative approach using sqlite_fetch_array() and sqlite_fetch_object() might be better. |
|