L'errore è qui, segnato in rosso:
Originalmente inviato da
yieforum
$query = "SELECT * FROM banning WHERE ip='$ipcheeck'";
$id = $query['id'];
$res = mysql_query($query);
Dunque la variabile $query non è altro che una semplice stringa, quindi chiedere ad una stringa l'elemento con chiave 'id' non ha senso ma è anche vero che non ti segnala errori perché una stringa è considerata un array di caratteri, quindi l'espressione $query['id'] da un lato gli piace.. ma è ovvio che non troverà quell'elemento (per capirci se fai $query[0] ti ritorna il carattere 'S' che è la prima lettera della query "SELECT...").
Anche se non ti è chiara questa "divagazione" sulla stringa come array non ti preoccupare non è essenziale, era solo per farti capire perché non ti dava errore di sintassi. Continuiamo:
Il valore del campo 'id' devi chiederlo al risultato della query eseguita, cioè $res, comodamente -e come di consueto- sotto forma di array, ovvero:
$row = mysql_fetch_array($res);
e subito dopo prendi il valore con:
$id = $row['id'];
Dunque la parte di codice corretto è:
Codice PHP:
$query = "SELECT * FROM banning WHERE ip='$ipcheeck'";
$res = mysql_query($query);
$row = mysql_fetch_array($res);
$id = $row['id'];