Php &引用;更新;函数在MySQL表中创建新行

Php &引用;更新;函数在MySQL表中创建新行,php,mysql,mysqli,Php,Mysql,Mysqli,从今天早上开始我就遇到了一个非常奇怪的问题。 当我调用方法modifica()两次时,它会在uti表中创建一个新的空行 这就是我所说的(没有循环或其他任何东西): if(true==acquista\u annuncio($\u POST['crediti\u annuncio'],$\u POST['idmessaggio'])) 这就是功能: function acquista_annuncio($crediti_annuncio,$id_annuncio){ global $db; $da

从今天早上开始我就遇到了一个非常奇怪的问题。 当我调用方法
modifica()
两次时,它会在
uti
表中创建一个新的空行

这就是我所说的(没有循环或其他任何东西):
if(true==acquista\u annuncio($\u POST['crediti\u annuncio'],$\u 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;
    }

您将要将所有这些
查询分离。=
查询。=
^仅此一项就将破坏您的代码^molto important;-)^我不明白。。它一直在工作,除了这个…解决这个问题的方法是什么?我不知道,对不起。我只指出了所有
query.=
-的语法错误,这些错误需要更改为
query.=
,并在点之前加上空格。