2015-07-19 50 views
1

我試圖將數據插入到我的數據庫中,但我一直得到這個我找不出來的錯誤。一直在論壇上,無法找到答案,所以我想我會發布。PDO異常42000

完整的參考錯誤。

error

代碼:

<?php 
    $Records = $connect->query('SELECT COUNT(ID) as counted FROM listings;'); 
    $fetchdata = $Records->fetch(); 
    $i = $fetchdata['counted']; 
    $i++; 
    $name = 'hold'; 
    $OS = 0; 

    if(isset($_POST['name'])){ 
    $name = $_POST['name']; 
    $type = $_POST['type']; 
    $loc = $_POST['loc']; 
    $desc = $_POST['desc']; 
    $prem = $_POST['premium']; 

    } 

    if($name != 'hold'){ 
    $sql = "INSERT INTO listings (name,premium,location,type,desc,onsite,ID,paymentid) VALUES (:Name,:Prem,:Loc,:Type,:Desc,:Onsite,:ID,:Paymentid);"; 
    $Appquery = $connect->prepare($sql); 
    $Appquery->bindParam(':Name', $name, \PDO::PARAM_STR); 
    $Appquery->bindParam(':Prem', $prem, \PDO::PARAM_INT); 
    $Appquery->bindParam(':Loc', $loc, \PDO::PARAM_STR); 
    $Appquery->bindParam(':Type', $type, \PDO::PARAM_STR); 
    $Appquery->bindParam(':Desc', $desc, \PDO::PARAM_STR); 
    $Appquery->bindParam(':Onsite', $OS, \PDO::PARAM_INT); 
    $Appquery->bindParam(':ID', $i, \PDO::PARAM_INT); 
    $Appquery->bindParam(':Paymentid', $i, \PDO::PARAM_INT); 

    $Appquery->execute(); 
    header("Location: index.php"); 
    } 
    ?> 

回答

0

兩個desctypeare reserved MySQL keywords。只需引用它們:

$sql = "INSERT INTO listings (name,premium,location,`type`,`desc`,onsite,ID,paymentid) VALUES (:Name,:Prem,:Loc,:Type,:Desc,:Onsite,:ID,:Paymentid);"; 
//            ^^^ ^
+0

謝謝,我覺得自己像一個白癡 – user3676186