PDO::exec()
クエリを実行すると、機能します。しかし、最初に試してみるとPDO::prepare()
、 PDO::execute()
うまくいきません。なんで?
たとえば、これは期待どおりに機能します。
$db->exec($string);
ただし、これはしません。
$stmt = $db->prepare($string);
$stmt->execute();
エラーはスロー$db->errorInfo
されず、すべてゼロが表示され、成功を意味します。
これは私にはまったく意味がありません。
コンテキストの編集:
注意してください、newDB()
これは私がここで必要とする設定でDBを開始する単なる関数です。
以下を実行すると、期待どおりに機能します。
$db = newDB();
if (!$error) {
if (isset($id)) {
try {
$db->exec('UPDATE Events SET Title = "WHY" , Date = "2012-11-01 00:00:00", Place = "no", Description = "no", UDate = now() WHERE Id = "12"');
} catch(PDOException $e) {
$error = 1;
}
}
}
$db = null;
しかし、これはそうではなく、私は理由がわかりません:
$db = newDB();
if (!$error) {
if (isset($id)) {
try {
$stmt = $db->prepare('UPDATE Events SET Title = "WHY" , Date = "2012-11-01 00:00:00", Place = "no", Description = "no", UDate = now() WHERE Id = "12"');
$stmt->execute();
} catch(PDOException $e){
$error = 1;
}
}
}
$db = null;