- Home
- Categorie
- Coding e Sistemistica
- PHP
- 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