2016-05-13 4 views
-2

ich einen Fehler:Ist meine Update-Funktion korrekt (PHP)

Fatal error: Uncaught exception 'PDOException' with message >'SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''1'WHERE name_enterprise='111'' at line 1' in C:\wamp\www\project\models\Db.class.php on line 29.

Ich würde gerne wissen, ob meine Frage richtig ist, Dank im Voraus.

 public function update_enterprise2($name_enterprise,$address_enterprise){ 
     $query = 'UPDATE enterprises SET name_enterprise='. $this->_db->quote($name_enterprise) .',address_enterprise'. $this->_db->quote($address_enterprise).'WHERE name_enterprise=' . $this->_db->quote($name_enterprise); 
     $this->_db->prepare($query)->execute(); 
    }

+2

Sie vermissen ein '=' nach 'address_enterprise'. Löst das das Problem? – Michael

+0

Verwenden Sie vorbereitete Anweisungen mit Parametern und Syntaxfehlern, die * viel * einfacher zu finden sind. – David

+0

Debugging 101. echo die blutige Abfrage. –

Antwort

1

So richten Sie eine vorbereitete Anweisung ein.

Beachten Sie, dass Sie Namensparameter nur einmal verwenden können, daher müssen Sie den Namen ändern, um sie zweimal zu verwenden.