2013-12-18 16 views
-2

我有一個用於存儲存儲頁訪問計數的表。第一個語句firs使查詢獲得當前存儲的數據,第二個語句增加第一個結果並更新表。如何在一行中運行多個查詢

這裏是一個例子。

$conn = new PDO(...); 
//get current value 
$stmt = $conn->query("SELECT counter FROM table"); 
$newValue = $stmt->fetch(PDO::FETCH_ASSOC); 

//increment 
$stmt = $conn->prepare("update table set counter = ?"); 
$stmt->execute(array($newValue)); 

以上只是一個例子,但我需要它涉及使得單prepare()計數和1更新計數器,每個頁面訪問的方法。

+0

如果這是一個例子,它需要澄清。 'table'只有一行嗎?你的'UPDATE'語句沒有'WHERE'子句,因此會影響所有行,如果有多個。如果有多行,也許你應該使用'AUTO_INCREMENT'。 –

回答

1

下面就帶列值,並在一條語句由一個遞增本身(或任何你想)

UPDATE table SET counter = counter + 1 
+0

我不知道我們可以在mysql語句中使用表達式 – ANW

1

你可以簡單地使用此查詢:

update table set counter = (counter+1) 
1

請試試這個:

UPDATE table SET counter = ((SELECT counter FROM table)+1) 

我希望這幫助ü:)

相關問題