2014-07-17 6 views
0

PDO 문을 사용하여 삽입하는 데 문제가 있습니다. 나는 mysql에서 PDO 문으로 이동하고있다. 그래서 당신의 의견을 환영합니다. 그것은 전혀 중복 된 질문이 아닙니다. 다른 질문을 확인했지만 결과를 얻을 수 없습니다. 중복 질문으로 표시하지 마십시오.PDO 문을 사용하여 mysql에 데이터가 삽입되지 않았습니다.

<?php 
class Stock{ 
    const DB_HOST = 'localhost'; 
    const DB_NAME = 'stock'; 
    const DB_USER = 'root'; 
    const DB_PASSWORD = ''; 

    private $conn = null; 



    /** 
    * Open the database connection 
    */ 
    public function __construct(){ 
     // open database connection 
     $connectionString = sprintf("mysql:host=%s;dbname=%s", 
         Stock::DB_HOST, 
         Stock::DB_NAME); 
     try{ 
      $this->conn = new PDO($connectionString, 
         Stock::DB_USER, 
         Stock::DB_PASSWORD); 
     } 
     catch(PDOException $e){ 
      die($e->getMessage()); 
     } 
    }//end of constructor 

    public function insert_stock($stock_symbol,$stock_name,$no_of_trans,$max_price,$min_price,$closing_price,$total_shares,$amount,$previous_close,$difference){ 
     $data = array(
      ':stock_symbol'   => $stock_symbol, 
      ':stock_name'   => $stock_name, 
      ':no_of_trans'   => $no_of_trans, 
      ':max_price'   => $max_price, 
      ':min_price'   => $min_price, 
      ':closing_price'  => $closing_price, 
      ':total_shares'   => $total_shares, 
      ':amount'    => $amount, 
      ':previous_close'  => $previous_close, 
      ':difference'   => $difference 
     ); 
     $sql = 'INSERT INTO tbl_stock(stock_symbol,stock_name,no_of_trans,max_price,min_price.closing_price,total_shares,amount,previous_close,difference) 
       VALUES(:stock_symbol,:stock_name,:no_of_trans,:max_price,:min_price,:closing_price,:total_shares,:amount,:previous_close,:difference)'; 

     $q = $this->conn->prepare($sql); 

     return $q->execute($data); 

    } 
}//end of class 

$obj = new Stock; 
if($obj->insert_stock('TES','Testing',5,500,600,200,2000,200000,600,10)!= false){ 
    echo 'One row added sucessfully'; 
} 
else{ 
    echo 'Error adding the task'; 
} 
?> 

나는 또한 그것에서 auto_increment을 가지고 내 tbl_stock 테이블의 ID를 가지고있다.

답변

0

당신은 연결 문자열에 오타가 있습니다 : 그것은 내 실수 여전히 결과를 얻고 아니었다

$connectionString = sprintf("mysql:host=%s;dbname=%s", 
        Stock::DB_HOST,    
        Stock::DB_NAME); 
+0

다음과 함께

$connectionString = sprintf("mysql:host=%s;dbaname=%s", Stock::DB_HOST, ^ Stock::DB_NAME); 

교체. – user3127109

관련 문제