2

私は得る

警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 無効なパラメーター番号: パラメーターが定義されていません

次のコードを実行しようとすると、bindValuebindParamが問題なのかわかりません。

class Product {

    public function productAdd($x) {
        $core = Core::getInstance(); // This part works OK
        $stmt = $core->dbh->prepare('INSERT INTO Product (Product_Name) VALUES (:product-name)');
        $stmt->bindValue(':product-name', $x, PDO::PARAM_STR);
        $stmt->execute();
    }

}

$product = new Product;
$productadd = $product->productAdd('Blue Sunglasses');
4

1 に答える 1

4

名前付きパラメーターは、次のいずれかである必要があります。

BINDCHR     = [:][a-zA-Z0-9_]+;

ハイフンをアンダースコアに変更するか、削除してください。

于 2013-06-12T15:32:29.267 に答える