0

私がこれをしたら

include('orderConst_pdo_connect.php');
switch  ($type){
    case "retrieve":
        retrieve_address($customer_id);
        break;
    case "new":
        new_address($customer_id, $address);
        break;
    case "update":
        update_address($customer_id, $address_id);
        break;
    case "delete":
        delete_address($customer_id, $address_id);
        break;              
}

function retrieve_address($customer_id){
    $sth = $dbh->prepare("
    SELECT * 
    FROM   address 
    WHERE  customer_id = :customer_id 
    ORDER  BY CASE 
                WHEN use_frequency IS NULL THEN id 
                ELSE use_frequency 
              END ASC");

.... 

}

エラーが発生します

Fatal error: Call to a member function prepare() on a non-object

include('orderConst_pdo_connect.php')関数の中に入れるまで。ファイルを含めて、関数にページの上部にアクセスさせる方法はありますか、またはそれを使用するすべての関数に含める必要がありますか?

4

2 に答える 2

3

インクルード ファイル内で定義された変数は、デフォルトでは関数内では使用できません。この変数へのアクセスを関数に許可するには、global $dbh

于 2013-02-12T19:46:44.420 に答える
1

を使用するのではなくglobal、次のようにします。

function retrieve_address($dbh, $customer_id) {
    // blah
}
于 2013-02-12T20:20:38.763 に答える