pdo insert with select语句错误/参数号无效

ryevplcw  于 2021-06-19  发布在  Mysql
关注(0)|答案(0)|浏览(174)

这个问题在这里已经有答案了

在mysql中何时使用单引号、双引号和反引号(13个答案)
我的pdo声明不起作用(1个答案)
两年前关门了。
在phpmyadmin中手动执行查询

INSERT INTO productimages (ImageURL, productID)
VALUES('http://test.jpg', (SELECT id
                     FROM products 
                    WHERE products.MPN = 'test'));

很好用。
但是尝试使用pdo。。。

try {
   $sql = "INSERT INTO productimages (ImageURL, productID)
VALUES(':image_url', (SELECT id
                     FROM products 
                    WHERE products.MPN = ':mpn'));";
    $data = [
    'image_url' => $image_url,
    'mpn' => $mpn
];
    $stmt = $conn->prepare($sql);
    $stmt->execute($data);
    }
catch(PDOException $e)
    {
      echo '<h2 style="color:red;">' . $e->getMessage() . '</h2>';
    }

我总是遇到这样的错误:
sqlstate[hy093]:无效的参数号:绑定变量的数量与令牌的数量不匹配
如何正确地形成这个insert查询以使用pdo执行?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题