doushouhe7072 2018-01-07 13:27
浏览 75
已采纳

PHP PDO执行错误42000

I am getting a 42000 PDO error, I know this has to do with MySQL reserved words and I have put all my column names in backticks. However, this has not solved my problem. I am using Xampp on Windows 10, I am wondering if it could be an Apache or MySQL error and not a PHP syntax error?

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"]
                       )); 
    }
}

I know this may be a stupid easy answer and that I may just be stuck and I know there are some similar questions out there already. But any help would be greatly appreciated, thanks in advance.

  • 写回答

2条回答 默认 最新

  • donglei3370 2018-01-27 02:51
    关注
        $stmt = $this->pdo->prepare("INSERT INTO item 
        ( userID, `name`, description, price, link, image) 
        VALUES ( :userID, :name, :description, :price, :link, :image)");
    

    name is a reserved word in MySQL you only need it in backticks, also NULL values are not necessary for your statements.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 【悬赏】canvas 椭圆形内小球边缘与小球碰撞检测
  • ¥50 Delphi5环境下图片文件怎么转换成Base64编码?
  • ¥15 将GPDO_0引|脚设首成PWM1的输出引脚 实验编程该怎么写
  • ¥50 阿里云服务器 CentOS7.9 搭建 openvpn 服务
  • ¥100 开源软件弱点处理规范
  • ¥15 excel如何根据文件名自动搜索并批量导入文件?
  • ¥15 VScode 用户代码片段图标
  • ¥15 streamingtool
  • ¥15 MATLAB图像问题
  • ¥20 树莓派5做人脸情感识别与反馈系统