APIからデータを保存していて、ON DUPLICATE KEY UPDATE
を実行しています。 、(0行が挿入された)私はphpMyAdminの中に手動でSQLを実行し、それが動作する以下のerrorInfo()
MySQL PDO - 重複していないKEY UPDATEは変更がない場合にfalseを返しますか?
Array ([0] => 00000 [1] => [2] =>)
で、事はそれが周りに行く最初にエラーが発生することなく保存されたということですが、連続して実行するにはfalseを返します変更が加えられていない場合はfalseを返しますか?ここで恐ろしいコードの
私の謝罪は、PDOインスタンスは$this->db
(私はこの機能にいくつかのJSONを保存していますので、通常は下ので、「メークによる」ソリューション、:
にerroringた脱出の準備として保存されます)
public function update($table, $valuePairs)
{
$columns = '';
$values = '';
$updates = '';
foreach ($valuePairs as $column => $value)
{
if($value !== null and $value !== '') {
$columns .= '`'.$column.'`, ';
$values .= $this->db->quote($value).', ';
$updates .= '`'.$column.'` = VALUES(`'.$column.'`), ';
}
}
$columns = rtrim($columns, ', ');
$values = rtrim($values, ', ');
$updates = rtrim($updates, ', ');
$sql = 'INSERT INTO '.$table.' ('.$columns.')
VALUES ('.$values.')
ON DUPLICATE KEY UPDATE '.$updates;
$result = $this->db->exec($sql);
if(!$result)
{
print_r($this->db->errorInfo());
echo '<br><br>';
}
return $result;
}
あなたのコードを教えてもらえますか? –
質問が更新されました。 –