我有一个 MySQL 数据库,其表 (opendpu) 有多个列,包括标题为“ECRNUM”和“PE_REQUIRED”的列。
我只是想通过指定一些值来测试这个更新语句。我收到此错误:
Array ( [0] => 42000 [1] => 1064 [2] => 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 'DOE WHERE ECRNUM = 附近使用的正确语法81308' 在第 1 行)
对于我的一生,我无法弄清楚这里出了什么问题。任何人都可以帮忙吗?
<?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));
?>
.