Quello che sto cercando di fare è passare attraverso un input di testo dove l'utente inserisce i tag per un post sul blog. Voglio aggiungere ogni tag al database se non esiste già.
La stringa di query effettiva di seguito funziona quando eseguo il test nel database.
Tuttavia, penso che la sintassi del mio loop non sia proprio corretta, perché non sto ottenendo nulla aggiunto al DB.
Qualcuno può individuare un errore nel mio ciclo che causa il mio 'aggiungi al database' fallire?
Grazie in anticipo per il vostro aiuto!
foreach ($_POST['__tags'] as $key=>$ls_value) {
$value = strtolower(mysql_real_escape_string($ls_value));
mysql_query("INSERT INTO `table` (`field`)
SELECT * FROM (SELECT '$value') as tmp
WHERE NOT EXISTS (
SELECT `field` FROM `table` WHERE `field` = '$value')
LIMIT 1") or trigger_error(mysql_error(), E_USER_ERROR);
}
Cosa restituisce l'eco o l'uso di print_r su $ _POST ['__ tags']? Sta restituendo qualcosa per cominciare? –
Il codice è vulnerabile a SQL injection. Anche le funzioni mysql_ * sono deprecate e non dovrebbero più essere usate se possibile. http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – Cfreak