par
chatlumo » 09 oct. 2008, 23:56
Oui mais la version 3 ne se gère que via PDO (si j'ai bien compris).
tout dépend ou se situe l'erreur... (là je penche pour la deuxième solution

)
C'est bien ce qui me semblait mais cela ne m'affiche rien.
En fait comme ça produit une erreur fatale, le reste de la page n'est pas affiché.
Voilà un code complet que vous pouvez tester :
Code : Tout sélectionner
// create a SQLite3 database file with PDO and return a database handle (Object Oriented)
try{
$dbHandle = new PDO('sqlite:test.sqlite3');
}catch( PDOException $exception ){
die($exception->getMessage());
}
// create page view database table
$sqlCreateTable = 'CREATE TABLE pageView(id INTEGER PRIMARY KEY AUTOINCREMENT, page CHAR(256), access INTEGER(10))';
$dbHandle->exec($sqlCreateTable); // remove or 'comment out' this line after first run
// insert page visit in database with a prepared statement
/*$sqlInsertVisit = 'INSERT INTO pageView (page, access) VALUES (:page, :access)';
$stmt = $dbHandle->prepare($sqlInsertVisit);
$stmt->bindParam(':page', $_SERVER['PHP_SELF'], PDO::PARAM_STR);
$stmt->bindParam(':access', time(), PDO::PARAM_INT);
$stmt->execute();*/
// get page views from database
$pageVisit = $dbHandle->quote($_SERVER['PHP_SELF']);
$sqlGetView = 'SELECT count(page) AS view FROM pageView WHERE page = '.$pageVisit.'';
$result = $dbHandle->query($sqlGetView);
$pageView = $result->fetch(); // store result in array
// print page views
echo 'This page has been viewed '.$pageView['view'].' times.';
[quote="Berzemus"]Note que tu n'es pas obligé de passer par pdo. PHP5 inclut sqlite en natif.
(quelques fonctions et descriptions: http://be.php.net/manual/fr/book.sqlite.php )[/quote]
Oui mais la version 3 ne se gère que via PDO (si j'ai bien compris).
[quote="jojolapine"]
tout dépend ou se situe l'erreur... (là je penche pour la deuxième solution ;) )[/quote]
C'est bien ce qui me semblait mais cela ne m'affiche rien.
En fait comme ça produit une erreur fatale, le reste de la page n'est pas affiché.
Voilà un code complet que vous pouvez tester :
[code]
// create a SQLite3 database file with PDO and return a database handle (Object Oriented)
try{
$dbHandle = new PDO('sqlite:test.sqlite3');
}catch( PDOException $exception ){
die($exception->getMessage());
}
// create page view database table
$sqlCreateTable = 'CREATE TABLE pageView(id INTEGER PRIMARY KEY AUTOINCREMENT, page CHAR(256), access INTEGER(10))';
$dbHandle->exec($sqlCreateTable); // remove or 'comment out' this line after first run
// insert page visit in database with a prepared statement
/*$sqlInsertVisit = 'INSERT INTO pageView (page, access) VALUES (:page, :access)';
$stmt = $dbHandle->prepare($sqlInsertVisit);
$stmt->bindParam(':page', $_SERVER['PHP_SELF'], PDO::PARAM_STR);
$stmt->bindParam(':access', time(), PDO::PARAM_INT);
$stmt->execute();*/
// get page views from database
$pageVisit = $dbHandle->quote($_SERVER['PHP_SELF']);
$sqlGetView = 'SELECT count(page) AS view FROM pageView WHERE page = '.$pageVisit.'';
$result = $dbHandle->query($sqlGetView);
$pageView = $result->fetch(); // store result in array
// print page views
echo 'This page has been viewed '.$pageView['view'].' times.';
[/code]