Salve,
ho un problema con le tabelle temporanee in MySQL.
Lo scopo di questo codice sarebbe quello di Creare una tabella temporanea, inserirci dei dati e poi leggerli. Ma funziona tutto sino alla creazione della tabella; non inserisce niente e non legge niente.
Secondo voi è un errore della query? Perché levando soltanto il "TEMPORARY" la tabella diventa normale e tutto funziona.


try {
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
echo "Connesso al DB<br>";
}
catch(PDOException $e)
{
echo $e->getMessage();
exit();
}


$query = "CREATE TEMPORARY TABLE `$tab_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` char(254) CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
";


$result = $dbh->exec($query);
if (!$result) {
echo "Tabella Creata<br>";
}


$query = NULL;


$query = "INSERT INTO `$tab_name` (nome) VALUES ('prova')";
$result = $dbh->exec($query);
if ($result) {
echo "Valore Inserito<br>";
}
$query = NULL;


$query = "SELECT id,nome FROM `$tab_name`";


foreach($dbh->query($query) as $row){
echo $row['id']. '<br>';
echo $row['nome']. '<br>';
}