-
Premetto che lo script funzona regolarmente sul "server" locale:
questa è la query che dovrebbe eliminare il record selezionato:
DELETE FROM $_POST[tabella] WHERE id='$_POST[id]'
e questo il messaggio di errore in risposta:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id='3' LIMIT 1' at line 1
RINGRAZIO MOLTISSIMO, chi può aiutarmi a scrivere correttamente la query per il server sql su Altervista.
-
riporta la query per come viene realmente eseguite, magari facendo un echo($query);
ti sapremo aiutare meglio
-
infatti...se fai così scopri che certe volte hai errori stupidi tipo un apice che manca o cose simili..personalmente mi faccio smepre stampare la query e poi la copio e incollo su MySqlFront e vedo l'errore che mi da....posta la query :wink:
-
DELETE FROM $_POST[tabella] WHERE id='$_POST[id]'
si incasina, devi virgolettare in questo modo
"DELETE FROM ".$_POST[tabella]." WHERE id='".$_POST[id]."'"
il punto serve a unire la variabile al resto della stringa.
variabili normali vengono bene interpretate anche se inserite in una stringa senza virgolettare, mentre array e altre sintassi piu complesse vanno virgolettate in quel modo. e cmq ne risulta una maggior chiarezza del codice.
saluti!
-
Per completare quello che ha detto gbadat, aggiungo che se proprio vuoi evitare (ma perchè?) l'uso delle virgolette prima della query puoi creare la tua variabile, cioè:
$tabella = $_POST['tabella'];
$id = $_POST['id'];
DELETE FROM $tabella WHERE id='$id'
-K8