• 29-08-2019, 00:56:23
    #1
    Selam fazla sorgu kullanmak istemiyorum mükerrer kayıtları engellemek için PDO'nun kendi fonksiyonu vardı çok kısa şuan hatırlayamıyorum. Yardımcı olabilecek varsa sevinirim.

    Buldum try catch ile hallediyormuşuz

    try {
    $pdo->prepare("INSERT INTO users VALUES (NULL,?,?,?,?)")->execute($data);
    } catch (PDOException $e) {
    if ($e->getCode() == 1062) {
    // Take some action if there is a key constraint violation, i.e. duplicate name
    } else {
    throw $e;
    }
    }
  • 29-08-2019, 10:11:33
    #2
    1062 dışında 23000 de duplicate key hatasıdır. Arasındaki farktan tam olarak emin değilim ama sanırım duplicate key olduğunda 23000 hata kodunu verir. Onu da kontrol ettirin.
    Eğer isterseniz bunun dışında ON DUPLICATE KEY UPDATE ile zaten varsa güncelleyebilir veya INSERT IGNORE ile varsa yoksayabilirsiniz.