- Home
- Categorie
- Coding e Sistemistica
- Coding
- Aiuto..non capisco dov'è l'errore...
- 
							
							
							
							
							
Ciao, 
 per fare un pò di sano debug e vedere che errore genera la queri, sostituisci a:
 [php]
 header('location: index.php?pag=profilo&up=4');
 [/php]
 il codice:
 [php]
 {
 echo mysql_error();
 exit();
 }
 [/php]Ad una veloce occhiata ciò che mi lascia perplesso è il nome "città" scritto con l'accento (solitamente si preferisce evitare l'uso di caratteri accentati per i nomi di variabili e campi delle tabelle). 
 E' poi sicuramente errata la condizione WHERE id=.$id.
 con il punto ripetuto prima e dopo la variabili. Forse volevi scrivere
 [php]
 ".... WHERE id=".$id." ";
 [/php]Non ho controllato il resto del codice. Alessandro 
 
- 
							
							
							
							
							
La variabile id è stata scritta in tutti i modi, anche come hai scritto tu ma niente.. Proverò ad inserire quella funzione che mi hai descritto... Grazie 
 
- 
							
							
							
							
							
L'errore che mi dà è questo: 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 'username = 'SimyXT', nome = 'Simone', residenza = 'Fossacesia',Non capisco perchè..tutti i campi sono apposto P.S: L'errore di prima era dovuto ad un nome della tabella sbagliato..xDD EDIT: Ho risolto anche questo, mancava una virgola...cacchio mi sto stufando con questi errorini banali.. 
 
- 
							
							
							
							
							
Ho un'altro problemino... 
 Vorrei incrementare una variabile ogni volta che un file viene scaricato (è un contatore di download)
 Prendo il nome del file e della categoria dalle query string.
 Se il file esiste apre il db, prendo il valore (intero) di una colonna e la metto in una variabile così:[PHP]$down = $fetch[down];[/PHP] Poi la incremento così: [PHP]$down = $down + 1;[/PHP] e la aggiorna con UPDATE.. Il problema è che quando vado a scaricare il file la prima volta mi incrementa la variabile (che prima era NULL). Quando vado a scaricarlo più volte il valore rimane sempre ad uno.. Perchè?? Simone 
 
- 
							
							
							
							
							
Ciao, 
 questa riga di codice, scritta così, è errata:
 [php]
 $down = $fetch[down];
 [/php]
 mancano gli apici:
 [php]
 $down = $fetch['down'];
 [/php]Alessandro 
 
- 
							
							
							
							
							
L'errore non è quello..apparte che io gli apici per utilizzare le tabelle nel mysql_fetch_array non le ho mai usate, continua ancora a non incrementare la variabile... 
 
- 
							
							
							
							
							
Ciao, 
 puoi postare il resto del codice?
 
- 
							
							
							
							
							
Ciao, ecco il codice... [PHP]<?php 
 include('db_conf.php');
 session_start();
 if ($_SESSION['username'] == '')
 {
 header('location: index.php?pag=downloads&logged=no');
 }else{$file=$_GET['file']; 
 $cat = $_GET['cat'];
 $percorso="download/";
 $percorso_file=$percorso.$file;
 $dimensione_file=filesize($percorso_file);$db = mysql_connect($dbhost, $dbuser, $dbpassword); 
 mysql_select_db($dbname, $db);$sel_down = "SELECT * FROM $cat WHERE file = $file"; 
 $sukalo = mysql_query($sel_down);
 $id_autore = mysql_fetch_array($sukalo);
 $down1 = $id_autore['down'];
 $down1 = $down1 + 1;
 $up_down = mysql_query("UPDATE $cat SET down = '$down1' WHERE file = '$file'");
 if(!$up_down)
 {
 header('location: index.php?pag=view_downloads');
 }else{
 header("Content-Type: application; name=".$file);
 header("Content-Transfer-Encoding: binary");
 header("Content-Length: ".$dimensione_file);
 header("Content-Disposition: inline; filename=".$file);
 header("Expires: 0");
 header("Cache-Control: no-cache, must-revalidate");
 header("Cache-Control: private");
 header("Pragma: public");
 readfile($percorso_file);
 }
 }
 ?>[/PHP]
 
- 
							
							
							
							
							
Mancano gli apici nella select: 
 [php]
 $sel_down = "SELECT * FROM $cat WHERE file = '$file' ";
 [/php]Poi... visto che i dati recuperati da quella query li usi solo per aggiornare il contatore, potresti evitarla del tutto aggiornando direttamente con la query di update: 
 [php]
 $up_down = mysql_query("UPDATE $cat SET down = down+1 WHERE file = '$file' ");
 [/php]Alessandro 
 
- 
							
							
							
							
							
Si ora funziona...gli apici non centrano perchè ho provato a scriverli in tutti i modi ma nulla. Grazie per avermi dato la dritta dell'update.. Simone