Php 使用PDO不会插入任何内容
刚刚开始PDO 没有任何东西被写入表中 版本号和psc号是主键 我也没有错 我错过了什么 编辑 将psc_id更改为不存在的新值时:插入记录 将datetime更改为不存在的值时:不会插入记录 我的数据库设置可能有问题Php 使用PDO不会插入任何内容,php,mysql,pdo,Php,Mysql,Pdo,刚刚开始PDO 没有任何东西被写入表中 版本号和psc号是主键 我也没有错 我错过了什么 编辑 将psc_id更改为不存在的新值时:插入记录 将datetime更改为不存在的值时:不会插入记录 我的数据库设置可能有问题 必须从列中删除唯一约束 在phpmyadmin中 结构 索引 编辑 更改为索引唯一 添加$pdo->setAttribute(pdo::ATTR_ERRMODE,pdo::ERRMODE_异常)在连接打开后立即执行。在打开后立即将错误报告添加到文件顶部,如果在唯一列中尝试插入至
必须从列中删除唯一约束 在phpmyadmin中 结构 索引 编辑 更改为索引唯一
添加
$pdo->setAttribute(pdo::ATTR_ERRMODE,pdo::ERRMODE_异常)代码>在连接打开后立即执行。在打开后立即将错误报告添加到文件顶部,如果在唯一列中尝试插入至少“一个”值,则整个查询将失败。尝试对重复密钥更新执行-另外,您是否包括了如上所述的错误报告?这应该引发了一个错误。没有错误,我找到了解决方案,尽管(删除唯一索引约束)SQL当时因为它而默默失败。我有一种感觉,移除约束会解决它。
try{
$stmt = $db->prepare(
"INSERT INTO psc_history
(version_stamp, psc_id,version_author , pscname) VALUES
(:version_stamp, :tableprimkeyvalue, :version_author, :fieldvalue)
ON DUPLICATE KEY UPDATE pscname = :fieldvalue2, version_author = :version_author2;");
$stmt->execute(array(':version_stamp' => "2015-09-23 01:14:59"
, ':tableprimkeyvalue' => 5478
, ':version_author' => 9999
, ':fieldvalue' => "hello1"
, ':fieldvalue2' => "hello2"
, ":version_author2" => 9999));
} catch (PDOException $ex) {
echo($ex->getMessage());
}