2017-07-18 141 views
0

我正在研究Php腳本來創建聯機數據庫中的字段,並且prepare()語句不工作,所以我認爲我可能會失敗查詢,因爲我不擅長使用SQL,這裏是函數;Prepare()語句不工作PHP(SQL查詢)

function createQuestion($CAT, $PREG, $RESP1, $RESP2, $RESP3, $RESPC) { 
    $sql = "INSERT INTO `table1` (`ID`, `CAT`, `PREG`, `RESP1`, `RESP2`, `RESP3`, `RESPC`) VALUES (NULL, ?, ? , ?, ?, '?, ?)"; 
    if ($stmt = $this->con->prepare($sql)) { 
    echo "prepare works okay!"; 

    $stmt->bind_param("isssss", $CAT, $PREG, $RESP1, $RESP2, $RESP3, $RESPC); 

    if ($stmt->execute()) { 
     return true; 
    } else{ 
     return false; 
    } 
    } else { 
    echo "prepare isn't working." 
    } 
} 

除了在其他類中指定的其他錯誤,我得到了「準備工作不正常」。

+0

@DaveChen沒有錯插入'NULL'爲 – Phil

+0

剛看到這個錯誤只是一個簡單的拼寫錯誤自動增量列。糟糕,但我的意思只是主鍵。 –

回答

2

你的陳述中有一個錯字:

INSERT INTO `table1` (`ID`, `CAT`, `PREG`, `RESP1`, `RESP2`, `RESP3`, `RESPC`) VALUES (NULL, ?, ? , ?, ?, '?, ?); 

注單'馬克在VALUES(...)部分?試試這個:

INSERT INTO `table1` (`ID`, `CAT`, `PREG`, `RESP1`, `RESP2`, `RESP3`, `RESPC`) VALUES (NULL, ?, ?, ?, ?, ?, ?);