2012-01-25 4 views
4

私のスクリプトは、この非オブジェクトに()を実行します。そのエラーを含む

$stmt = $this->db->prepare('SELECT libelle,activite,adresse,tel,lat,lng FROM etablissements where type IN ('.$in_list.')'); 
     $stmt->execute(); 
     $stmt->bind_result($libelle,$activite,$adresse,$tel,$lat,$lng); 

(localhostではありません)、サーバー上で実行されているPHPのバージョンは5.2.17

+0

SQLクエリが正しくないようです。 – zysoft

+0

dbの定義のような詳細を教えてください。 – BlackCharly

+0

これは実際にはPHPエラーのようです。 '$ this'は何を指していますか? –

答えて

5

$stmtは、方法​​のオブジェクトであると想定されます。
$this->db->prepare()のようなものは良い結果を返していないようです。

$this->dbた場合は、あなたがそのようなbind the parametersをすべきmysqli()オブジェクトです:

if ($stmt = $this->db->prepare('SELECT libelle,activite,adresse,tel,lat,lng FROM etablissements where type IN (?)')) { 
    $stmt->bind_param("s", $in_list); 
    $stmt->execute(); 
    // ... 
} 
+1

Thanx、BTW、 's'は何を指していますか? – Malloc

+0

"対応する変数はタイプ文字列" –

1

です実行したSQLを確認してください。

$this->db->prepare('SELECT libelle,activite,adresse,tel,lat,lng FROM etablissements where type IN ('.$in_list.')'); 

有効な文オブジェクトは戻されません。

+0

'$ in_list'は、暗黙の配列から作成された文字列です。 – Malloc

+0

なぜ有効な声明ではないのですか? – Malloc

+0

は 'var_dump( ')の結果を表示します。これは、' prepare'の直前に '' $ IN_list('。$ in_list。 ')理由を見るための 'prepare'メソッド。 – xdazz

-2

あなたのDBオブジェクトがnullです。コネクションをあまりに早く閉じるか、何らかの理由でそれをnullに上書きするかどうかを確認してください。

+0

はこの答えですか? –

関連する問題