Ho portato sullo spazio AV uno script che funziona altrove e che prevede la creazione di una tabella temporanea mysql basata su alcuni campi di una tabella già presente sul db mysql di AV:
Non funziona. Qualcuno ha avuto problemi analoghi o c'è un mio errore?
Ho guardato nel forum x topics simili, ma nei pochi trovati non c'è risposta.
Grazie fin da ora per eventuali risposte.
Ok, grazie per la valanga di interventi chiarificatori
In effetti in risposta alla query:
"CREATE TEMPORARY TABLE momtab SELECT nome, indirizzo, progressivo FROM tabutenti";
viene fuori questo errore:
Access denied for user: 'mioaccountusername@localhost' to database 'my_mioaccountusername'.
Chiaro quindi che non si può. Unica soluzione alternativa credo sia creare una nuova tabella e poi cancellarla a fine lavoro. Cioé:
"CREATE TABLE momtab SELECT nome, indirizzo, progressivo FROM tabutenti";
e dopo averla usata
MYSQL_DROP_DB("momtab");
L'impedimento alle tabelle momentanee sarà certamente un problema di sicurezza.
"L'intelligenza è una pianta che va curata continuamente.
Dovreste vedere com'è bello, il mio bonsai."
Rat-man®
[Gradient Text]
[Su che server sei?]
->flickr
Penso sia inutile chiederti se hai selezionato il database prima di fare azioni, giusto?
comunque non devi fare il drop db ma il drop table con il comando query DROP TABLE.
Ma la tabella tabutenti e' tua?
La cosa mi interessa mi fai sapere per favore?
ciao
Grazie a Binary e a Demen.
So che il problema della mancanza di tabelle temporanee può essere tranquillamente aggirato in molti modi. La domanda sulla possibilità o meno di uso su AV era solo per sapere quali limiti ci sono qui (ad es. non mi sembra permesso neanche il LOCK TABLE).
In effetti lo script (che ripeto funziona su uno spazio Aruba) usa una TEMPORARY TABLE per mostrare su una pagina un set di dati di una tabella con i valori originali di una campo ("richieste") seguito da una ipotesi di riduzione sul valore del campo stesso.
Sfrondato del superfluo il codice è questo:
if (!$result = mysql_query($query, $db))
die ("Errore nella duplicazione tabella: ".mysql_error());
//---------------------------------- ESTRAZIONE DATI
$query = "SELECT nome, cognome, richieste, ridotte FROM momtab ORDER BY richieste DESC,cognome,nome";
if (!mysql_query($query, $db))
die ("Errore nell'estrazione dati: ".mysql_error());
$query = "DROP TABLE momtab";
if (!$result = mysql_query($query, $db))
die ("Errore nel cancellare tabella: ".mysql_error());
mysql_close($db);
Come dicevo non è un problema, è solo per sapere cosa si può e cosa non si può fare. Qualcun'altro aveva avuto problemi analoghi ( MySql e tabelle temporanee oppure Create temporary table ) ma il link ad una risposta chiarificatrice non funziona. Non sono riuscito a trovare nel forum (mia scarsa attenzione?) nulla di illuminante sull'argomento.
Grazie Demen per la segnalazione sull'erroraccio del MYSQL_DROP_DB. :winkOLD: