2017-07-18 138 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, ?, ?, ?, ?, ?, ?);