gpt4 book ai didi

php - 使用 PDO 更新整个表中的 base64 中的单个字段

转载 作者:行者123 更新时间:2023-11-30 00:39:20 26 4
gpt4 key购买 nike

我有一个 mySQL 数据库,它定义为一个包含许多字段的表。

是否有一个全合一的 PDO 语句我可以执行以执行以下操作:

我想对数据库中每条记录中的一个字段(称为 cstat 的字段)进行 base64 编码。

任何帮助将不胜感激。

更新:

感谢 TheEwook 让我走上正轨并进行了一些进一步的搜索,我终于像这样解决了它(我有一个名为 record_id 的独特自动增量字段):

  $sth = $pdo->query("SELECT * FROM myTable");
$sth->setFetchMode(PDO::FETCH_ASSOC);

while($row = $sth->fetch()) {

$cstat = base64_encode($row['cstat']);

$sql="UPDATE myTable SET cstat = :cstat WHERE record_id = :record_id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':cstat', $cstat, PDO::PARAM_STR);
$stmt->bindParam(':record_id', $row['record_id'], PDO::PARAM_INT);
$stmt->execute();

}

最佳答案

一个简单的更新查询就足够了

$sth = $dbh->prepare('UPDATE myTable SET cstat = TO_BASE64(cstat)');
$sth->execute();

或者如果您使用的是 5.6.1 之前的 mySQL 版本

$sth = $dbh->query("SELECT * FROM myTable");
$sth->setFetchMode(PDO::FETCH_ASSOC);

while($row = $sth->fetch()) {
$cstat = base64_encode($row['cstat']);
$sth2 = $dbh->prepare('UPDATE myTable SET cstat = ?');
$sth2->execute(array($cstat));
}

关于php - 使用 PDO 更新整个表中的 base64 中的单个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com