Vorri passare dalle funzioni mysql a PDO.
Il codice qui sotto è un pezzo di classe che esegue funzioni db tramite PDO
codice:
function connect()
{
global $host; global $db_name; global $db_user; global $db_psw;
$con_db = 'mysql:host='.$host.';dbname='.$db_name;
try
{ /*tentativo di connessione*/ $db = new PDO($con_db , $db_user, $db_psw); }
catch(PDOException $e)
{ echo 'Attenzione connessione al database fallita: '.$e->getMessage(); }
return $db;
}
function query($sql)
{
$db = $this->connect();
$db->beginTransaction(); /*disabilitazione dell'auto-commit*/
$query = $db->prepare($sql);
$query->execute();
$result = $db->commit(); /* applica le modifiche*/
return $query;
}
function fetch_both($result)
{
try
{
$db = $this->query($result);
$result = $db->fetch(PDO::FETCH_BOTH);
}
catch(PDOException $e)
{ echo 'Attenzione funzione fetch_both: '.$e->getMessage(); }
return $result;
}
La pagina dove richiamo la classe
codice:
<?php $pagina= new pagine();
$pagine = $pagina->pagina('index');
while ($dettagli_pagina = $pagina->fetch_both($pagine))
{echo $dettagli_pagina['nome'].' '.$dettagli_pagina['testo'];
}?>
IL PROBLEMA:
se tolgo il while mi stampa il 1° record senza problemi.
Se cerco tramite un ciclo di stampare più record mi stampa tante volte solo il 1° record poi si interrompe per troppo tempo di esecuzione.
Aiuto