Hallo,
nachdem ein Datensatz mittels INSERT eingefügt wurde, soll dieser upgedatet werden, dazu folgender PHP-Code:
PHP Quellcode:
PHP
<?php
$varSql =
"UPDATE
mytable
SET
...,
active = 'FALSE' // <---- auch mit '0' getestet
WHERE
id = :id;"
$sqlParams = array(..., "id" => 57, ...);
try{
$pdo = new PDO(
'pgsql:dbname=mydb; host=127.1.1.0;','postgres',''xxx',array(PDO::ATTR_PERSISTENT => true));
$stmt = $pdo -> prepare( $varSql );
$stmt -> execute( $sqlParams );
echo $pdo -> errorInfo();
$pdo = NULL;
}
catch{
...
}
?>
Alles anzeigen
Dazu wirft PDO unterschiedliche Fehler, entweder:
PHP
FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint „pkOffTrsm“
DETAIL: Schlüssel „(id)=(5)“ existiert bereits.
oder
PHP
FEHLER: Spalte „active“ hat Typ boolean, aber der Ausdruck hat Typ integer
LINE 20: active = 0
HINT: Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen.
Beide Fehler verstehe ich nicht:
1. doppelter Schlüsselwert??? Bei UPDATE
2. active ist nicht 0 sondern 'FALSE'
Wie beschrieben, die Fehler werden willkürlich gesetzt...
Wenn mir da ein erfahrender bitte mal Tipps geben würde?
Mit freundlichen Grüßen,