我明白了
警告: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');

最佳答案

命名参数必须是以下参数之一:

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

将连字符更改为下划线或将其删除。

关于php - 无效的参数编号:参数未定义-PHP/MYSQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17069431/

10-12 07:26
查看更多