我得到一个42000pdo错误,我知道这与mysql保留字有关,我把我所有的列名都放在反勾号中。然而,这并没有解决我的问题。我在windows10上使用xampp,我想知道它是否可能是apache或mysql错误,而不是php语法错误?
class ItemList {
private $pdo;
public function add() {
$stmt = $this->pdo->prepare("INSERT INTO `item` (`ID`, `userID`, `name`, `description`, `price`, `link`, `image`)
VALUES (NULL, :userID, :name, :description, :price, :link, :image)");
$stmt->execute(array(':userID' => $_SESSION['userID'],
':name' => $_REQUEST["name"],
':name' => $_REQUEST["name"],
':description' => $_REQUEST["description"],
':price' => $_REQUEST["price"],
':link' => $_REQUEST["link"],
':image' => $_REQUEST["image"]
));
}
}
我知道这可能是一个愚蠢的简单答案,我可能只是卡住了,我知道有一些类似的问题已经在那里。但任何帮助都将不胜感激,提前谢谢。
2条答案
按热度按时间w6mmgewl1#
似乎您为一个不允许空值的列分配了空值。
如果您使用的是autoincrement id,那么可以省略value子句中的null值和into子句中的id引用
m1m5dgzv2#
name在mysql中是一个保留字,您只需要在backticks中使用它,而且您的语句也不需要空值。