2013-01-08 62 views
0

我真的不明白錯誤在哪裏。我有一個名爲giderler的數據庫。它包括id(主鍵),kisi(varchar),tur(varchar),fiyat(varchar),mal(varchar),tarih(日期時間),hesap(int)。我只想添加一些記錄到表格中。我正在網上尋找一小時,但我找不到任何答案。SQLSTATE [42000]:語法錯誤或訪問衝突

這裏是代碼:

if(isset($_POST['AddExpense'])){ 

    /* Formdan gerekli veiler alınıyor */ 
    $kisi = $_POST['kisi']; 
    $tur = $_POST['tur']; 
    $fiyat = $_POST['fiyat']; 
    $mal = $_POST['mal']; 

    if(!is_numeric($fiyat)) 
    { 
     /* Fiyat sadece integer değer alıyor. */ 
     echo '<div id="error">Lütfen Fiyatı Sadece Rakam Olarak Giriniz!</div>'; 
     die; 
     } 

    $tarih = date("d-m-Y 00:00:00");  /* Tarih formatı gg-aa-yy */ 
    echo $kisi. ' - ' .$tur. ' - ' .$mal. ' - ' .$fiyat. ' - '. $tarih; 
    /* Veritabanına kayıt gerçekleştiriliyor */ 
    try{ 
    $add_expense = $db->prepare("INSERT INTO giderler (kisi,tur,mal,fiyat,tarih,hesap) VALUES (:kisi,:tur,:mal,:fiyat,:tarih,:hesap"); 
    $add_expense->execute(array(
     ':kisi' => $kisi, 
     ':tur' => $tur, 
     ':mal' => $mal, 
     ':fiyat' => $fiyat, 
     ':tarih' => $tarih, 
     ':hesap' => 0 /* Yeni girilen kayıt. Ödeşmeler gerçekleşmedi. Bu değer ay sonunda 1 olacak */ 
     )); 

    echo '<div id="successs">Sayın '.$kisi.', Kaydınız Başarıyla Eklendi.</div>'; 

    /*Exception fırlatılıyor*/ 
    }catch(PDOException $ex){ 
     echo 'Error: '.$ex->getMessage(); 
     } 
    } 

這裏是個例外:

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

回答

1

您在年底

$db->prepare("INSERT INTO giderler (kisi,tur,mal,fiyat,tarih,hesap) 
       VALUES (:kisi,:tur,:mal,:fiyat,:tarih,:hesap"); 
                  ^-------here 
+0

喔缺少),感謝兄弟:)這幾樣健忘讓我瘋狂:) –

相關問題