Buonsalve,
Sto scrivendo un mini mini mini CMS per uso personale, e mi sono imbattuto in un errore durante la creazione della pagina per la modifica delle configurazioni. Premetto che ha iniziato a non andare dopo una modifica che adesso non ricordo... ma comunque è un errore strano ò.ò
Ho un for:
$data è un array con i dati del database.
$post_list e $cfg_list sono pure due array.
Adesso io ho una tabella di nome settings e devo modificare la colonna descrizione, quindi come potete vedere dalla query la modifico con il valore passato tramite $_POST corrente (li ho messi tutti su $post_list) e ho fatto in modo con la keyword WHERE che modifica solo il valore del nome della configurazione corrente da modificare.
Con un print_r(); mi sono accertato che tutto sia corretto quindi potete star tranquilli che è giusto.
Con il print giustamente mi è uscito:
print_r($post_list);
print_r($cfg_list);
Quindi come potrete ben notare vorrei che nella tabella settings in una riga con la colonna config che risulta a massimo si modifichi il valore a 100.
Però la query restituisce: Unknown column 'massimo' in 'where clause'
Adesso mi viene da pensare: si sarà rincoglionito o sbaglio io? Perchè mi va a cercare una colonna 'massimo' se ho scritto di andare a cercare il valore 'massimo' nella colonna config?
Ho provato molte query diverse, modificando, aggiungendo e togliendo apici, modificando la sistemazione, documentandomi ma riscontro errori diversi o.o
Avete consigli o un eventuale soluzione? La cosa che mi sembra ancora più strana è che prima andava, ma non ricordo cosa ho modificato.. comunque a me sembra tutto giusto e mi sono assicurato che i valori passati siano esatti.
Saluti
Sto scrivendo un mini mini mini CMS per uso personale, e mi sono imbattuto in un errore durante la creazione della pagina per la modifica delle configurazioni. Premetto che ha iniziato a non andare dopo una modifica che adesso non ricordo... ma comunque è un errore strano ò.ò
Ho un for:
PHP:
for($i = 0; $i !== $post_count; $i++){
$conn = mysql_connect($data['ip'], $data['id'], $data['pw']) OR DIE(mysql_error());
mysql_select_db($data['db'], $conn);
$current_val = $post_list[$i];
$current_desc = $cfg_list[$i];
$query = mysql_query("UPDATE `settings`
SET `valore` = `$current_val`
WHERE `config` = `$current_desc`") OR DIE(mysql_error());
}
$data è un array con i dati del database.
$post_list e $cfg_list sono pure due array.
Adesso io ho una tabella di nome settings e devo modificare la colonna descrizione, quindi come potete vedere dalla query la modifico con il valore passato tramite $_POST corrente (li ho messi tutti su $post_list) e ho fatto in modo con la keyword WHERE che modifica solo il valore del nome della configurazione corrente da modificare.
Con un print_r(); mi sono accertato che tutto sia corretto quindi potete star tranquilli che è giusto.
Con il print giustamente mi è uscito:
print_r($post_list);
PHP:
Array ( [0] => 100 )
print_r($cfg_list);
PHP:
Array ( [0] => massimo )
Quindi come potrete ben notare vorrei che nella tabella settings in una riga con la colonna config che risulta a massimo si modifichi il valore a 100.
Però la query restituisce: Unknown column 'massimo' in 'where clause'
Adesso mi viene da pensare: si sarà rincoglionito o sbaglio io? Perchè mi va a cercare una colonna 'massimo' se ho scritto di andare a cercare il valore 'massimo' nella colonna config?
Ho provato molte query diverse, modificando, aggiungendo e togliendo apici, modificando la sistemazione, documentandomi ma riscontro errori diversi o.o
Avete consigli o un eventuale soluzione? La cosa che mi sembra ancora più strana è che prima andava, ma non ricordo cosa ho modificato.. comunque a me sembra tutto giusto e mi sono assicurato che i valori passati siano esatti.
Saluti