PDO Как повторить сколько обновил

Как я могу повторить, сколько записей было обновлено с этим кодом?
Я знаю, что я могу сделать это в общем обновлении:

echo $stmt->rowCount() . " records UPDATED successfully";

Но вопрос здесь в том, как это сделать, когда происходит несколько обновлений одновременно.

ПРИМЕЧАНИЕ О ВОЗМОЖНОМ ДУБЛИКАТЕ: Я уже объяснил, что мой вопрос отличается от: PDO были затронуты строки во время выполнения инструкции
Это решение для одного обновления, и оно не работает в этом коде. Я спрашиваю, как считать, когда есть несколько обновлений.

try {
require_once 'connexion.php';

$stmt = $conn->prepare("UPDATE bookmarks
SET podcast=:podcast, text=:text
WHERE id=:id");
$stmt->bindParam(':podcast', $podcast);
$stmt->bindParam(':text', $text);
$stmt->bindParam(':id', $id);

$podcast = 1;
$text = "text 1";
$id = 147;
$stmt->execute();

// another row:
$podcast = 2;
$text = "text 2";
$id = 265;
$stmt->execute();

// echo " records UPDATED successfully";
}

catch(PDOException $e){
echo $e->getMessage();
}

0

Решение

Попробуй это.

Как вы делаете несколько ->execute() вам придется захватить счет каждого ->execute() как вы это делаете, а затем показать накопленный общий счет в конце

try {
require_once 'connexion.php';
$update_count = 0;

$stmt = $conn->prepare("UPDATE bookmarks
SET podcast=:podcast, text=:text
WHERE id=:id");
$stmt->bindParam(':podcast', $podcast);
$stmt->bindParam(':text', $text);
$stmt->bindParam(':id', $id);

$podcast = 1;
$text = "text 1";
$id = 147;
$stmt->execute();

$update_count += $stmt->rowCount();


// another row:
$podcast = 2;
$text = "text 2";
$id = 265;
$stmt->execute();

$update_count += $stmt->rowCount();


echo "$update_count records UPDATED successfully";
}

catch(PDOException $e){
echo $e->getMessage();
}
1

Другие решения

Пытаться $stm->rowCount(), Источник здесь: http://php.net/manual/en/pdostatement.rowcount.php

Здесь уже задавался вопрос: https://stackoverflow.com/a/10522575/2853903

0

По вопросам рекламы [email protected]