PDO UPDATE提交和执行

问题描述 投票:-1回答:1

我是PDO领域的新手,目前正在尝试建立更新程序。我已经尝试了几个小时,实在感到沮丧。也许你们可以帮助我吗?

我尝试了建议的方法

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

但是完全没有帮助。

$pdo= Database::connect();

echo  $pdo->beginTransaction();

$sql = "UPDATE products SET
                  product = :product,
                    text = :txt,
                     price = :price,
                      image = :image,
                       active = :active,
                        takeaway = :takeaway,
                         action = :action,
                          category = :category,
                           allerg = :allerg
                   WHERE id = :valId ;";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':product', $_POST['product']);
$stmt->bindValue(':txt', $_POST['text']);
$stmt->bindValue(':price', $_POST['price']);
$stmt->bindValue(':image', $_POST['image']);
$stmt->bindValue(':active', $_POST['active']);
$stmt->bindValue(':takeaway', $_POST['takeaway']);
$stmt->bindValue(':action', $_POST['action']);
$stmt->bindValue(':category', $_POST['category']);
$stmt->bindValue(':allerg', $_POST['allerg']);
$stmt->bindParam(':valId', $id, PDO::PARAM_INT);

echo "<br>exec:".$stmt->execute();
echo "<br>commit:". $pdo->commit();

预先感谢。

php mysql database forms pdo
1个回答
0
投票

您可以很快使用此代码



$stmt->bindValue(':product', $_POST['product']);
$stmt->bindValue(':txt', $_POST['text']);
$stmt->bindValue(':price', $_POST['price']);
$stmt->bindValue(':image', $_POST['image']);
$stmt->bindValue(':active', $_POST['active']);
$stmt->bindValue(':takeaway', $_POST['takeaway']);
$stmt->bindValue(':action', $_POST['action']);
$stmt->bindValue(':category', $_POST['category']);
$stmt->bindValue(':allerg', $_POST['allerg']);

代替

foreach($_POST as $key=>$val)
{

   $stmt->bindValue(":$key",$value);
}
© www.soinside.com 2019 - 2024. All rights reserved.