Ho una tabella nel mio database MySQL chiamato "figli". In quella tabella c'è una riga chiamata "desideri" (una lista separata da virgole degli articoli della lista dei desideri del bambino). Devo essere in grado di aggiornare quell'elenco in modo che rimuova solo un valore. vale a dire la lista = jeans normali taglia 12, tavola da surf, berretto da baseball Red Sox; Voglio rimuovere Tavola da surf.Rimuovere i valori nell'elenco separato da virgola dal database
La mia domanda adesso appare così
$select = mysql_query('SELECT * FROM children WHERE caseNumber="'.$caseNum.'" LIMIT 1 ');
$row = mysql_fetch_array($select);
foreach ($wish as $w) {
$allWishes = $row['wishes'];
$newWishes = str_replace($w, '', $allWishes);
$update = mysql_query("UPDATE children SET wishes='$newWishes' WHERE caseNum='".$caseNum."'");
}
Ma la query di aggiornamento non è togliere nulla. Come posso fare ciò di cui ho bisogno?
Penso desideri dovrebbero essere di essa la propria tavola e collegata di nuovo qui condividendo il caseNumber chiave. –
Sembra che manchi la concatenazione di una stringa, ma una volta che viene ordinato, si lascia questa query aperta a SQL Injection: un hacker otterrebbe davvero ciò che desiderava. – Andrew
@Daren: questa è davvero la risposta giusta, il modello DB è sbagliato e deve essere corretto. I voti positivi sui commenti non contano – Andrew