- Home
- Categorie
- Coding e Sistemistica
- PHP
- if annidati c'è un errore
-
if annidati c'è un errore
Salve non capisco perchè mi restituisce un errore di sintassi, il blocco funzionava prima che inserissi la parte in grassetto, forse non si possono annidare cosi le if oppure credo che ci sia qualche virgola di troppo.... booohhhh
if ($_POST['azione'] == 'edit') {
$sql="UPDATE s_annunci SET ";
$sql.="codice = '$vcod' ,";
$sql.="nome = '$vnome' ,";
$sql.="produttore = '$vproduttore' ,";
$sql.="tipologia = '$vmenu' ,";
$sql.="tipologia_stili = '$vmenus' ,";
$sql.="altezza = '$vdatitecnici' ,";
$sql.="altdiff = '$valtdiff' ,";
$sql.="largh = '$vlargh' ,";
$sql.="lungh = '$vlungh' ,";
$sql.="prof = '$vprofond' ,";
$sql.="diametr = '$vdiametr' ,";
$sql.="quantita = '$vquantita' ,";
$sql.="prezzo = '$vprezzo' ,";
$sql.="descrhom = '$vdescrhom' ,";
$sql.="descrizione = '$vdescrizione' ,";
$sql.="costi = '$vcosti' ,";
$sql.="tempi = '$vtempi' ,";
$sql.="paypal = '$vpaypal' ,";
$sql.="bonifico = '$vbonifico' ,";
$sql.="contrassegno = '$vcontrassegno' ,";
$sql.="descrlam = '$vdescrlam' ,";
$sql.="tipo_lampadine = '$vlampadinetipo' ,";
if( $img1_name != "" ){
$sql.="lampadine = '$vlampadine' ,";
** if( $img4_name != "" ){$sql.="img2 = '$img4_name ,'";}
if( $img5_name != "" ){$sql.="img3 = '$img5_name ,'";}
if( $img6_name != "" ){$sql.="img4 = '$img6_name ,'";}
if( $img7_name != "" ){$sql.="img5 = '$img7_name ,'";}**
$sql.="img = '$img1_name'";
}else{
** if( $img4_name != "" ){$sql.="img2 = '$img4_name ,'";}
if( $img5_name != "" ){$sql.="img3 = '$img5_name ,'";}
if( $img6_name != "" ){$sql.="img4 = '$img6_name ,'";}
if( $img7_name != "" ){$sql.="img5 = '$img7_name ,'";}**
$sql.="lampadine = '$vlampadine'";
}
$sql.="where id = ". $_POST['id_annuncio'];
$risultato=mysql_query($sql, $conn) or die (mysql_error());
}
-
Ci puoi dire quale errore ti da?
-
si certo.. questo è l'errore:
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 'img = 'primo_3152013102113.jpg'where id = 69' at line 1mi dà errore solo se si verifica una delle condizioni if annidate sia nel primo blocco che nel secondo
if( $img1_name != "" ){
$sql.="lampadine = '$vlampadine' ,";
if( $img4_name != "" ){$sql.="img2 = '$img4_name ,'";}
if( $img5_name != "" ){$sql.="img3 = '$img5_name ,'";}
if( $img6_name != "" ){$sql.="img4 = '$img6_name ,'";}
if( $img7_name != "" ){$sql.="img5 = '$img7_name ,'";}
$sql.="img = '$img1_name'";
}else{
** if( $img4_name != "" ){$sql.="img2 = '$img4_name ,'";}
if( $img5_name != "" ){$sql.="img3 = '$img5_name ,'";}
if( $img6_name != "" ){$sql.="img4 = '$img6_name ,'";}
if( $img7_name != "" ){$sql.="img5 = '$img7_name ,'";}**
$sql.="lampadine = '$vlampadine'";
}
-
Ho dato solo un'occhiata veloce, ma metti uno spazio prima del WHERE, perché nell'errore mysql che hai postato il problema dovrebbe essere proprio quello.
E soprattutto... proteggi quel $_POST["id_annuncio"]. Non passarlo alla query così come proviene dal POST, o prima o poi ti ritroverai una brutta sorpresa.