PHP 7.0.6 Released

SQLite3::prepare

(PHP 5 >= 5.3.0, PHP 7)

SQLite3::preparePrepares an SQL statement for execution

Description

public SQLite3Stmt SQLite3::prepare ( string $query )

Prepares an SQL statement for execution and returns an SQLite3Stmt object.

Parameters

query

The SQL query to prepare.

Return Values

Returns an SQLite3Stmt object on success or FALSE on failure.

Examples

Example #1 SQLite3::prepare() example

<?php
unlink
('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'This is a test')");

$stmt $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id'1SQLITE3_INTEGER);

$result $stmt->execute();
var_dump($result->fetchArray());
?>

User Contributed Notes

Venkata Subbaraju
3 months ago
Without checking the return value of "prepare" if "exec" is used then it will cause Fatal Error.

"PHP Fatal error:  Call to a member function execute() on a non-object "

To avoid this error,need to check return value as following:

<?php
$db
= new SQLite3('school.db');
if(
$stmt = $db->prepare('SELECT id,student_name FROM classTen '))
{
        
$result = $stmt->execute();
        
$names=array();
         while(
$arr=$result->fetchArray(SQLITE3_ASSOC))
         {
         
$names[$arr['id']]=$arr['student_name'];
         }
}
?>
pavel dot lisa at centrum dot cz
5 years ago
SQLite3::prepare() will fail, if you pass in a WHERE clause (in the $query) referring to a non-existent column.
To Top