2016-05-14 78 views
1

我知道這很簡單,但我一直在尋找這一段時間,似乎無法確定是什麼問題。我想用兩個條件更新表中的一行。當我使用任何標準時,表格更新正常,但是當我將它們合併時,它不起作用。SQL更新與多個標準

這是查詢

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

了reg ID的例子:

APA91bGHS59rrpM0sbX9PIYT3SzXs-W1yEtGa2xGMGJXi8O1vW2SrgN7koHDj2o6ZwKvkd3TxtzhktsiVtQNSYQRa4uNDF7Yy0VOf0BJfQOnJWMtN2WBQjmVDsuU-0GxmceNLd8SWqOM

的內容實例: 我在哪裏可以找到汽車

+1

WHERE哪里哪里 – Strawberry

回答

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

在需要進行一次

2

您只需要使用where關鍵字一次:

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

強制性評論:
使用字符串操作這樣離開你的代碼容易受到SQL注入攻擊。你應該考慮使用prepared statements

1

您的查詢是錯誤的。

試試這個:

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

編輯: 當需要一次。

+1

解釋什麼是錯的 –

1

只能有一個WHERE條款,所以這是一個語法錯誤:

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

合併邏輯單子句中:

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

WHERE條款本質上就像條件語句用任何其他語言。你可以根據你的喜好構建一個複雜的布爾條件樹,只要整個事物解決爲布爾值就可以了。