2016-03-19 8 views
0
foreach ($checkArray as $key => $value) { 

    $deleteUserStmt=$user_home->runQuery("DELETE FROM users WHERE userID = '".$key."' " AND " '".$value."'=1"); 

$deleteUserStmt->execute(); 
} 

Am bekommen Fehler:MySql Abfrage: DELETE FROM. Syntaxfehler oder Zugriffsverletzung: 1064

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 MariaDB server version for the right syntax to use near '1' at line 1

$ checkArray $ key ist userID und Wert wahr oder falsch ist. RunQuery-Methode, die mit anderen Abfragen arbeitet.

Also ich denke, ich habe ein Problem mit der Abfragesyntax?

+0

Echo und sehen; wie $ del = "DELETE FROM ....."; echo $ del; – rahul

+0

Nur von der Syntaxhervorhebung '$ key. ''" AND "' sollte Ihnen sagen, dass das aus ist ... vorausgesetzt, Sie haben bereits SQL-Injektionen mit diesem Code erledigt. – chris85

+0

Warum würde jemand einfache Anführungszeichen für Spalten setzen. t sein 'column_name' mit einem tilda – rahul

Antwort

0

Abfrage sollte so sein, nicht einfache Anführungszeichen für die Spaltennamen setzen:
"DELETE FROM users WHERE userID = '$key' AND $value='1'"

+0

verwenden Danke seiner Arbeit. – Darius92

Verwandte Themen