Prepare()语句不工作PHP(SQL查询)
问题描述:
我正在研究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."
}
}
除了在其他类中指定的其他错误,我得到了“准备工作不正常”。
答
你的陈述中有一个错字:
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, ?, ?, ?, ?, ?, ?);
@DaveChen没有错插入'NULL'为 – Phil
刚看到这个错误只是一个简单的拼写错误自动增量列。糟糕,但我的意思只是主键。 –