Php 使用命名占位符将数据追加到MYSQL数据库的PDO更新查询
我正在构建sql更新查询,以便仅使用命名占位符将字符串值附加到数据库中已经存在的值。请建议对下面的代码进行必要的更改,或者建议如何在concat update语法中使用命名的placedholdersPhp 使用命名占位符将数据追加到MYSQL数据库的PDO更新查询,php,sql,pdo,Php,Sql,Pdo,我正在构建sql更新查询,以便仅使用命名占位符将字符串值附加到数据库中已经存在的值。请建议对下面的代码进行必要的更改,或者建议如何在concat update语法中使用命名的placedholders $name="Lastname"; $stmt = $conn->prepare("UPDATE users SET name= name + :name WHERE id=:id"); $stmt->bindParam(':name', $name); $stmt->bindP
$name="Lastname";
$stmt = $conn->prepare("UPDATE users SET name= name + :name WHERE id=:id");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':id', $id);
$stmt->execute();
预期产出:
Before:表的“name”列值为“Firstname”
代码执行后:“name”列值“FirstnameLastname”
+
不是连接SQL中字符串的正常方式。标准运算符是|
,函数concat()
通常可用:
UPDATE users
SET name = CONCAT(name, :name)
WHERE id = :id;
可能的副本并没有说明您正在使用哪个DBMS。我选择的dupe是针对MySQL的,但是其他数据库使用不同的语法。谢谢你的回答。它起作用了。若名称值是整数,并且我希望输出类似于1+1 ie,那个该怎么办2@Sashi . . . 如果需要添加,请使用
+
。但是,名为name
的列的数字数据类型并不常见。