Php 如何连续运行多个查询

Php 如何连续运行多个查询,php,oop,pdo,Php,Oop,Pdo,我有一个用于存储页面访问计数的表。第一条语句firs进行查询以获取当前存储的数据,第二条语句递增第一个结果并更新表 这里有一个例子 $conn = new PDO(...); //get current value $stmt = $conn->query("SELECT counter FROM table"); $newValue = $stmt->fetch(PDO::FETCH_ASSOC); //increment $stmt = $conn->prepare(

我有一个用于存储页面访问计数的表。第一条语句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

以下内容将在一条语句中获取列值并将其自身递增1(或任意值)

UPDATE table SET counter = counter + 1

您只需使用以下查询:

update table set counter = (counter+1)
请试试这个:

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

我希望这能帮助你:)

如果这是一个例子,需要澄清一下。
是否只有一行?您的
UPDATE
语句没有
WHERE
子句,因此如果有多行,则会影响所有行。如果有多行,也许应该使用
AUTO_INCREMENT
。我不知道我们可以在mysql语句中使用表达式