「ECRNUM」および「PE_REQUIRED」というタイトルの列を含む複数の列を持つテーブル (opendpu) を持つ MySQL データベースがあります。
いくつかの値を指定して、この更新ステートメントをテストしようとしているだけです。次のエラーが表示されます。
Array ( [0] => 42000 [1] => 1064 [2] => SQL 構文に誤りがあります。'DOE WHERE ECRNUM = 1 行目の 81308' )
私の人生では、ここで何が悪いのか理解できません。誰でも助けることができますか?
<?php
require ('config.php');
$ecrno = '81308';
$pe_required = 'JOHN DOE';
while (true) {
try {
$db = new PDO($dsn, $uname, $pword);
$db->exec( "SET CHARACTER SET utf8" );
$db->setAttribute( PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC );
$db->setAttribute( PDO::ATTR_PERSISTENT, true );
break;
}
catch (Exception $e) {
$db = null;
$counter++;
if ($counter == $limit)
throw $e;
}
}
$stmt = $db->prepare("UPDATE opendpu SET PE_REQUIRED = $pe_required WHERE ECRNUM = $ecrno");
$stmt->execute() or die(print_r($stmt->errorInfo(), true));
?>
.