2017-01-06 12 views
0

私は同様の質問を見ましたが、実際にこの問題を解決するものはありません。私は、関数内でクエリを持ってしようとしています:私は何をしますか、情報を取得するために、この関数を呼び出す必要があるとき関数内のPDOを使用してクエリを取得する方法

function retrieve() { 
    try { 
    $resultsall1 = $conn->prepare("SELECT productName, productVendor, SUBSTRING(productDescription, 1, 150), quantityInStock, buyPrice, productcat, MSRP FROM products LEFT JOIN productlines ON products.productLine = productlines.productLine"); 

    $resultsall1->execute(); 
    } catch (exception $e) { 
     echo "Unable to retrieve results"; 
    } 
    $productsAll1 = $resultsall1->fetchAll(); 
    return $productsAll1; 
} 

そして、問題が来ますか?私は次のことを見ましたが、私は試しましたが、私は答えを見つけることができません。これを関数なしで使うとうまくいきます。

$productAll2 = retrieve(); 
     foreach ($productAll2 as $Pitem) { 
      if ($Pitem['productcat'] == $_GET["cat"]) { 
       echo "<div class='Pitem'><img src='Assets/Images/products/" 
       .$Pitem['productName'] 
       .".jpg'><h2>" 
       . $Pitem['productName'] 
       . "</h2><p><b>Description: </b>" 
       . $Pitem['SUBSTRING(productDescription, 1, 150)'] 
       . "...</p><p><b>Product Vendor: </b>" 
       .$Pitem['productVendor'] 
       . "<p><b>Quantity in Stock: </b>" 
       .$Pitem['quantityInStock'] 
       . "<p><b>Price: </b>" 
       .$Pitem['buyPrice'] 
       . "k$<p><b>MSRP: </b>" 
       .$Pitem['MSRP'] 
       ."</p></div>"; 
      } 
     } 

ありがとうございました。また、$ conn-> prepareと$ pdo-> prepareの違いは何ですか?ご協力いただきありがとうございます。そう私に簡単に行く私はこのPHPおよびPDOに新しいです覚えておいてください:)

+0

* "また、$ conn-> prepareと$ pdo-> prepareの違いは何ですか?" * - um ...変数は? –

+0

ああ、大丈夫です。私は彼らがあらかじめ定義された変数だと思った。ありがとうございました。 –

+0

これらの変数は何でもかまいません。それは何で、どこで/どのように定義されているのか。 –

答えて

1

をあなたのこの機能では、あなたがその関数内で定義して困っていません$ CONNを参照してください。

function retrieve() { 
    try { 
    $resultsall1 = $conn->prepare("SELECT productName, productVendor, SUBSTRING(productDescription, 1, 150), quantityInStock, buyPrice, productcat, MSRP FROM products LEFT JOIN productlines ON products.productLine = productlines.productLine"); 

    $resultsall1->execute(); 
    } catch (exception $e) { 
     echo "Unable to retrieve results"; 
    } 
    $productsAll1 = $resultsall1->fetchAll(); 
    return $productsAll1; 
} 

あなたは、パラメータとして変数$ CONNを渡したり、関数の内部グローバルキーワードを使用して、グローバル変数として宣言しなければなりません、次のいずれか

global $conn 

は、012を参照してください。。

+0

$ connは、データベースへの接続の名前です。前に定義されています。私は何か他のものと混同していた。私が持っている問題は、機能を備えたものとそれにアクセスすることです。 –

関連する問題