php / mysql - PDO hazırlanan insert, hiçbir hata mesajları iş değildir ve

3 Cevap php

Ben gerçekten bu şimdi, ben saatlerce ona bakarak ve onu reqritten oylandı ne yapacağını hiçbir fikrim yok .. ben o iş için alınamıyor!.

require_once("Abstracts/DBManager.php");
require_once("UI/UI.Package.php");
class BlogDBM extends DBManager
{
     private $table = "blog_records";
     function saveRecord($title,$url,$desc,$feedId,$pubDate)
     {
      $PDO = $this->db->connect();
      try
  {

   $query = $PDO->prepare("
    INSERT INTO ".$this->table."
    (title,url,desc,feed_id,pubdate) VALUES
    (:title,:url,:desc,:feed_id,:pubdate)");
   $query->bindParam(":title", $title);
   $query->bindParam(":url", $url);
   $query->bindParam(":desc", $desc);
   $query->bindParam(":feed_id", $feedId, PDO::PARAM_INT);
   $query->bindParam(":pubdate", $pubDate, PDO::PARAM_INT);
   $query->execute();
   //return $PDO->lastInsertId();


  } catch(PDOException $e)
  {
   echo "Error " . $e->getMessage();

  }
  $PDO = NULL;
     }
}

3 Cevap

Ben mySQL desc alan adı bobinleri eminim - bu ayrılmış bir sözcüktür. Siz "` "tırnak içine koymak zorunda ya da daha iyi, alan adını değiştirmek istiyorum.

Hata raporlama gibi, errorInfo yöntemini kullanın. Siz istisna başarısız bir sorgunun sonucu PDO aslında çıkış yapabilir, ancak varsayılan davranış - Bence - Sorgu hiç yapılamaz yalnızca bir özel durum için, ancak başarısız değilse sorgu arızalı.

Sadece bu eklemek istedim, bir hata mesajı eksikliğinden benzer sıkıntılarınızı vardı.

Sessizce başarısız gelen PDO durdurmak için, PDO bağlantıda hata modunu ayarlayabilirsiniz.

$dbh = new PDO();
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Eğer hataları istiyorum ama yine de devam ederse PDO::ERRMODE_WARNING da vardır.

Birisi / ana id alanında DB AUTOINCREMENT bıraktığı döndüğünde Benzer sorunlar oluşabilir.