2017-03-17 13 views
0
if($_REQUEST['action'] == 'addToCart' && !empty($_REQUEST['id'])){ 
     $productID = $_REQUEST['id']; 
     // get product details 
     $query = $db->query("SELECT * FROM products WHERE id = ".$productID); 
     $row = $query->fetch_assoc(); 
     $itemData = array(
      'id' => $row['id'], 
      'name' => $row['name'], 
      'price' => $row['price'], 
      'qty' => 1 
     ); 

     $insertItem = $cart->insert($itemData); 
     $redirectLoc = $insertItem?'viewCart.php':'index.php'; 
     header("Location: ".$redirectLoc); 
    } 

私はこのコードをPDO stmtに変換しようとしています。これで私を助けてください、私はここで新しいです。mysqliコードをPDO stmtに変換するには?

+0

'$ db'は' pdo'接続か 'mysqli'ですか?これまで何をしていますか? 'prepare(" SELECT * FROM products WHERE id =? "' .. 'execute(array($ productID))' – chris85

+1

データベースクラスを見せて、それが何であるかを見ることができます – icecub

答えて

0

あなたが持っているデータベースのいずれかを開発して接続する必要があります。接続チェックを確認して接続してください。

PDOライブラリをインストールしていることを確認して、PHP情報を確認してください。

try 
    {     
     $conn =new PDO("sqlsrv:Server=$this->hostName;Database=$this->dbName", "$this->userName", "$this->password"); 
     $productID = $_REQUEST['id']; 
     $sql = "SELECT * FROM products WHERE id=?"; 
     $stmt->bindParam(1, $productID); 
     $stmt = $conn->prepare($sql); 
     $this->result = $stmt->execute(); 

        if (!$this->result) 
        { 
         while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
         { 
          $itemData = array(
          'id' => $row['id'], 
          'name' => $row['name'], 
          'price' => $row['price'], 
          'qty' => 1 
          ); 
         } 
        } 
    $insertItem = $cart->insert($itemData); 
    $redirectLoc = $insertItem?'viewCart.php':'index.php'; 
    header("Location: ".$redirectLoc);       
    } 
    catch(Exception e) 
    { 
    echo $e->getMessage(); 
        exit(); 
    }