PRATIQUE PHP 
SQLite pour PHP / MySQL : quelques équivalences
 
Deux fonctions du SGBD léger correspondant à des fonctions populaires de MySQL (23/02/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

Maintenant que le SGBD SQLite est intégré à PHP5, il est temps de se pencher sur les spécificités de cet outil. Nous avions déjà mentionné les principaux avantages et inconvénients de cette base dans un précédent article, nous abordons ici SQLite d'un point de vue PHP : les fonctions PHP spécifiques à SQLite, mais équivalentes à des fonctions MySQL.

Ainsi, SQLite offre un moyen de savoir s'il reste des lignes à parcourir : sqlite_has_more(). Cela permet d'écrire le code suivant :

$res = sqlite_query ($db, $req);
while (sqlite_has_more($res)) {
  $truc = sqlite_fetch_array($res);
  echo $truc[0];
  }

Ce qui est un équivalent de l'appel MySQL :

$res = mysql_query ($db, $req);
while ($truc = mysql_fetch_array()) {
  echo $truc[0];
  }

SQLite dispose également de sqlite_has_prev(), qui indique si le champ en cours est précédé ou non d'un autre. Le développeur peut agir en conséquence avec sqlite_next() et sqlite_prev().

Autre equivalence : sqlite_changes(), qui correspond à l'usage à mysql_affected_rows() :

$query = sqlite_query($db, $req);
if ($query) {
  echo 'Nombre de lignes affectées: ', sqlite_changes($db);
  }

$query = mysql_query($req);
if ($query) {
  echo 'Nombre de lignes affectées: ', mysql_affected_rows();
  }

La plupart des fonctionnalités de MySQL sont donc facilement répliquables avec SQLite.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page