2016-05-14 9 views
1

Ich weiß, dass das ziemlich einfach ist, aber ich habe das für eine Weile angeschaut und kann nicht identifizieren, was das Problem ist. Ich möchte eine Zeile in einer Tabelle mit zwei Kriterien aktualisieren. Wenn ich eines der Kriterien verwende, wird die Tabelle zwar aktualisiert, aber wenn ich sie kombiniere, funktioniert sie nicht.SQL-Update mit mehreren Kriterien

Dies ist die Abfrage

$updatequery = "UPDATE query SET audio='$finalpath' WHERE content='$title' AND WHERE userid LIKE '%$regID%'"; 

Ein Beispiel für die reg-ID:

APA91bGHS59rrpM0sbX9PIYT3SzXs-W1yEtGa2xGMGJXi8O1vW2SrgN7koHDj2o6ZwKvkd3TxtzhktsiVtQNSYQRa4uNDF7Yy0VOf0BJfQOnJWMtN2WBQjmVDsuU-0GxmceNLd8SWqOM

Ein Beispiel für den Inhalt: Wo kann ich ein Auto

finden
+1

WHERE benötigt wird WHERE WHERE – Strawberry

Antwort

1
WHERE content='$title' AND userid LIKE '%$regID%' 

Wo nur einmal

2

Sie müssen nur dieverwendenSchlüsselwort einmal:

$updatequery = 
"UPDATE query SET audio='$finalpath' WHERE content='$title' AND userid LIKE '%$regID%'"; 
# "WHERE" removed here ------------------------------------^ 

Pflicht Kommentar:
String-Manipulation verwenden, wie dies Ihren Code anfällig für SQL-Injection-Angriffe läßt. Sie sollten wirklich in Betracht ziehen, stattdessen prepared statements zu verwenden.

1

Ihre Anfrage ist falsch.

Versuchen Sie folgendes:

$updatequery = "UPDATE query SET audio='$finalpath' WHERE content='$title' AND userid LIKE '%$regID%'"; 

EDIT: Wo nur einmal benötigt wird.

+1

erklären, was falsch ist –

1

können Sie haben nur eineWHERE Klausel, so ist dies ein Syntaxfehler:

WHERE content='$title' AND WHERE userid LIKE '%$regID%' 

die Logik in einer einzigen Klausel kombinieren:

WHERE content='$title' AND userid LIKE '%$regID%' 

Die WHERE Klausel im Wesentlichen wie conditionals funktioniert in irgendeiner anderen Sprache. Sie können einen Baum mit booleschen Bedingungen so komplex aufbauen, wie Sie möchten, solange das Ganze auf einen booleschen Wert reduziert wird, ist es in Ordnung.

Verwandte Themen