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

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条)

报告相同问题?

悬赏问题

  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?
  • ¥50 使用quartz框架进行分布式任务定时调度,启动了两个实例,但是只有一个实例参与调度,另外一个实例没有参与调度,不知道是为什么?请各位帮助看一下原因!!
  • ¥50 怎么获取Ace Editor中的python代码后怎么调用Skulpt执行代码
  • ¥30 fpga基于dds生成幅值相位频率和波形可调的容易信号发生器。