2013-06-12 2 views
2

나는잘못된 매개 변수 번호 : 매개 변수는 정의되지 않은 - PHP는/MYSQL

가 경고 얻을 :) (PDOStatement이 :: 실행 [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'); 
+3

나는'-' 때문에 그런 것이 아닌지 궁금합니다. ': productName'처럼 그것없이 시도하십시오 –

+0

OMG? Duh, 그래, 그랬어. 감사!!! 믿을 수 없어. 그것은 나에게 몇 시간이 걸렸다! !! 신선한 눈을 항상 환영합니다. –

+0

괜찮습니다! :-) –

답변

4

명명 된 매개 변수는 다음 중 하나 여야합니다

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

변화 하이픈 밑줄 또는 제거합니다.

관련 문제