[RESOLU] Pb Sqlite -> Php,PureBasic

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
wood51
Messages : 122
Inscription : ven. 05/juin/2009 13:04
Localisation : orléans

[RESOLU] Pb Sqlite -> Php,PureBasic

Message par wood51 »

Salut,
J'ai besoins d'éditer une base sqlite en ligne puis de la téléchargé pour l'exploiter avec PureBasic .
Seulement le problème c'est que je ne peux pas exécuter de requête depuis PB .
Erreur : file is encrypted or is not a database
Si vous avez une idée ou une piste de recherche , ce serais vraiment sympas :D

Le fichier Php générant la base et insérant les données :

Code : Tout sélectionner

<?php
// Ouverture de la base
$db_handle = sqlite_open('users', 0666, $error);

// requête SQL
$query = "CREATE TABLE [users] (
  [id] INTEGER NOT NULL PRIMARY KEY , 
  [username] VARCHAR NOT NULL, 
  [password] VARCHAR NOT NULL);";
sqlite_query($db_handle, $query, NULL, $error);

$query = "INSERT INTO users (username,password) values ('david','purebasic')"; 
sqlite_query($db_handle, $query, NULL, $error);
$query = "INSERT INTO users (username,password) values ('laure','basicpure')"; 
sqlite_query($db_handle, $query, NULL, $error);
?>
Le Fichier php lisant les données :

Code : Tout sélectionner

<?php
$db_handle = sqlite_open('users', 0666, $error);

$query = "SELECT * FROM users";
$result=sqlite_query($db_handle, $query);

while($row = sqlite_fetch_array($result, SQLITE_ASSOC))
{
echo "User : ".$row['username']." - Pass : ".$row['password']."<br>";
}

?>
et enfin le code PB (tiré des exemples)

Code : Tout sélectionner

UseSQLiteDatabase()

Filename$ = OpenFileRequester("Choisissez le nom d'un fichier", "PureBasic.sqlite", "*.*|*.*", 0)

If OpenDatabase(0, Filename$, "", "")
  
  Debug "Connecté ..."
  
  If DatabaseQuery(0, "SELECT * FROM users") ; Recupère tous les enregistrements de la table 'employee'
    While NextDatabaseRow(0) ; Enumeration des enregistrements
      Debug GetDatabaseString(0, 0) ; Affichage du contenu du premier champ
    Wend
    
    FinishDatabaseQuery(0)
  Else
    Debug "Erreur Impossible d'executer la requete: "+DatabaseError()
  EndIf

  
EndIf
@+ David
Dernière modification par wood51 le dim. 11/nov./2012 21:23, modifié 2 fois.
Compétences : Bricoleur PureBasic du dimanche
Crâmage de cerveau en cours 100% :D
Projet en cours : http://purepicbasic.frenchboard.com/
Avatar de l’utilisateur
wood51
Messages : 122
Inscription : ven. 05/juin/2009 13:04
Localisation : orléans

Re: Pb Sqlite -> Php,PureBasic

Message par wood51 »

Je me répond tout seul :mrgreen: :

Il y a deux façon de gérer les Base de donné avec PHP (encore faut-il le savoir :oops: ) : Procédural ou Objet.
Celle du message précédent est la procédurale .
Je l'ai fait en Objet et là çà marche 8O 8O 8O . Je ne comprends pas pourquoi PHP ne génére pas la même Base mais bon çà fonctionne .

createdb.php

Code : Tout sélectionner

<?php
$db = new PDO('sqlite:users.db');

$db->exec('CREATE TABLE users (id INT PRIMARY KEY,username VARCHAR,password VARCHAR)');
$db->exec("INSERT INTO users (username,password) VALUES ('david','purebasic')");
$db->exec("INSERT INTO users (username,password) VALUES ('laure','basicpure')");
?>
list.php

Code : Tout sélectionner

<?php
$db = new PDO('sqlite:users.db');
$result = $db->query('SELECT * FROM users');
var_dump($result->fetchAll());
?>
code PureBasic

Code : Tout sélectionner

UseSQLiteDatabase()

Filename$ = OpenFileRequester("Choisissez le nom d'un fichier", "PureBasic.sqlite", "*.*|*.*", 0)



If OpenDatabase(0, Filename$, "", "")
  If DatabaseQuery(0, "SELECT * FROM users") ; Récupère tous les enregistrements 
    
    While NextDatabaseRow(0) ; Énumération des enregistrements
      Debug GetDatabaseString(0, 1) + " : " + GetDatabaseString(0, 2)
    Wend
    
    FinishDatabaseQuery(0)
  Else
    Debug DatabaseError()
  EndIf
  
EndIf

Compétences : Bricoleur PureBasic du dimanche
Crâmage de cerveau en cours 100% :D
Projet en cours : http://purepicbasic.frenchboard.com/
Répondre