Php 如何连续运行多个查询
我有一个用于存储页面访问计数的表。第一条语句firs进行查询以获取当前存储的数据,第二条语句递增第一个结果并更新表 这里有一个例子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(
$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语句中使用表达式