从今天早晨起,我一直在经历一个非常特殊的问题。
当我调用方法modifica()
2次时,它会在utenti
表中创建一个新的空行。
这就是我所说的(没有循环或其他任何东西):
if(true===acquista_annuncio($_POST['crediti_annuncio'],$_POST['idmessaggio']))
这是功能:
function acquista_annuncio($crediti_annuncio,$id_annuncio){
global $db;
$dati_tempo_reale=$db->estrai("utenti","email='".$_SESSION['email']."'",NULL,1);
$id_utente=$dati_tempo_reale[0]['id'];
$visualizzazioni_impresa=$dati_tempo_reale[0]['visualizzazioni'];
//Scalare crediti
$crediti_disponibili=crediti_disponibili();
$crediti_utente=$crediti_disponibili-$crediti_annuncio;
$db->inserisci("utenti","crediti","'$crediti_utente'");
//Inserimento ID ditta nella colonna visualizzazioni
$annuncio=$db->estrai("richieste_preventivi","id='$id_annuncio'",NULL,1);
$annuncio=$annuncio[0]['visualizzazioni'];
//Controlla se l'annuncio non è già stato visualizzato dalla stessa ditta, altrimenti restituisce false
if(false===strpos($annuncio,$id_utente)){
$visualizzazioni_annuncio=$annuncio.",".$id_utente;
$visualizzazioni_impresa=$visualizzazioni_impresa.",".$id_annuncio;
$db->modifica("richieste_preventivi","visualizzazioni='$visualizzazioni_annuncio'","id='$id_annuncio'",1);
$db->modifica("utenti","visualizzazioni='$visualizzazioni_impresa'","id='$id_utente'",1);
return true;}
else
{ return false; }
}
这是$ db类的方法modifica
。
$ this-> connessione是mysqli对象。
public function modifica($tabella,$campi,$dove,$limite)
{
//Esempio: $db->modifica("prova","nome='Elena'","id=1",NULL);
if(isset($tabella) && isset($campi) && isset($dove))
{
$this->query=addslashes(htmlentities("UPDATE ".$tabella));
$this->query.=htmlentities(" SET ".$campi." WHERE ".$dove);
if(isset($limite))
$this->query.=addslashes(" LIMIT ".$limite);
$this->query.=addslashes(";");
//DEBUG
echo "console.log(\"$this->query\");";
if(true===$this->connessione->real_query($this->query))
return true;
else
return false;
}
else return false;
}