我明白了
警告:PDOStatement::execute()[PDOStatement.execute]:SQLSTATE[HY093]:无效参数编号:未定义参数
当尝试运行下面的代码时,bindValue
和bindParam
似乎都看不到哪里出了问题。
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/