[PHP] Interrompere DROP TABLE con PDO

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Salve sono sempre alle prese con il passaggio da PHP 5 a PHP 7...sto incontrando molti problemi, adesso per esempio ho difficoltà nel NON far eseguire la query di cancellazione della tabella più volte.
Mi spiego:
all'inizio della pagina lancio la cancellazione della tabella generata in precedenza per poi ricrearla, tutto questo perchè dalla pagina precedente gli passo l'anno, per avere una visualizzazione dei dati per anno da mandare in stampa.
Il problema è che creata la tabella quando vado a cliccare sul link che genera il file pdf mi rilancia la query DROP TABLE e il file pdf a questo punto ovviamente è vuoto.
Queste le query:
PHP:
<?php
//INIZIO ELIMINA LA TABELLA stampadonatoreanno
// Connessione al database.
require('Connessione.php');

try {
  // stringa di connessione al DBMS
  $connessione = new PDO("mysql:host=$host;dbname=$db", $user, $password);
  // imposto dell'attributo necessario per ottenere il report degli errori
  $connessione->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  // selezione e visualizzazione dei dati estratti
  foreach ($connessione->query("DROP TABLE stampadonatoreanno") as $row)
  {
    //echo $row['user_name'] ."<br />";
  }
  // chiusura della connessione
  $connessione = null;
}
catch(PDOException $e)
{
  // notifica in caso di errore nel tentativo di connessione
  echo $e->getMessage();
}
//FINE ELIMINA LA TABELLA stampadonatoreanno
?>



<FORM>
<?php
//INIZIO CREA LA TABELLA stampadonatoreanno
// Connessione al database.
//require('Connessione.php');

$Anno = $_POST['Anno'];

try {
  // stringa di connessione al DBMS
  $connessione = new PDO("mysql:host=$host;dbname=$db", $user, $password);
  // imposto dell'attributo necessario per ottenere il report degli errori
  $connessione->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  // selezione e visualizzazione dei dati estratti
  foreach ($connessione->query("CREATE TABLE stampadonatoreanno AS SELECT tblanagrafica.id, tblanagrafica.Nominativo, tblanagrafica.NumPratica,
tblanagrafica.DataNascita, tblanagrafica.CodiceFiscale, tblanagrafica.Residenza, tblanagrafica.Indirizzo, tblanagrafica.Cellulare,
tblanagrafica.TelefonoFisso, tblanagrafica.Mail, tblanagrafica.Fiduciario, tblanagrafica.Data, tblanagrafica.Anno,
tblanagrafica.datainserimento, tblanagrafica.Protocollo, tblanagrafica.inserito_da
FROM tblanagrafica
WHERE tblanagrafica.Anno = '$Anno'") as $row)
  {
    //echo $row['Anno'] ."<br />";
  }
  // chiusura della connessione
  $connessione = null;
}
catch(PDOException $e)
{
  // notifica in caso di errore nel tentativo di connessione
  echo $e->getMessage();
}
//FINE CREA LA TABELLA stampadonatoreanno
?>
</FORM>
Come posso fare?
Grazie
Max61
 

Discussioni simili