- In Debian 7 non esiste più il support php per sqlite2, e si potrebbero avere errori del tipo:
Call to undefined function sqlite_open() -
- È possibile mimare le funzioni base con queste:
<?php
// FUNCTION TO BE COMPATIBLE WITH SQLITE2
function sqlite_open($location,$mode)
{
$handle = new SQLite3($location);
return $handle;
}
function sqlite_close($dbhandle)
{
if ( $dbhandle->close() ) {
return true;
} else {
return false;
}
}
function sqlite_query($dbhandle,$query)
{
$array['dbhandle'] = $dbhandle;
$array['query'] = $query;
$result = $dbhandle->query($query);
return $result;
}
//function sqlite_fetch_array(&$result,$type)
function sqlite_fetch_array(&$result)
{
#Get Columns
$i = 0;
while ($result->columnName($i))
{
$columns[ ] = $result->columnName($i);
$i++;
}
$resx = $result->fetchArray(SQLITE3_ASSOC);
return $resx;
}
// if (sqlite_num_rows($result) > 0) {
function sqlite_num_rows($query) {
$numRows = 0;
while($rows = $query->fetchArray()){
++$numRows;
}
return $numRows;
}
function sqlite_exec($dbhandle,$query)
{
$array['dbhandle'] = $dbhandle;
$array['query'] = $query;
if ( $dbhandle->query($query) ) {;
return true;
} else {
return false;
}
}
?>
- Installare le command line utilities sqlite3 (le sqlite2 sono rimaste da squeeze)
sudo apt-get install sqlite3
- Convertire il file DB con:
sqlite old_database.sqlite .dump | sqlite3 new_datatabse.sqlite
Riferimenti