вызов функции-члена execute () для не-объекта

Мой скрипт, содержащий эту ошибку, таков:

$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); 

Версия php, работающая на сервере (не localhost), составляет 5.2.17

Предполагается, что $stmt является объектом с методом execute() .
Кажется, что $this->db->prepare() не возвращает хороший результат.

Если $this->db является объектом 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(); // ... } 

Проверьте выполненный sql,

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

не возвращает действительный объект-оператор.

Ваш объект db имеет значение NULL. Проверьте, слишком ли рано или поздно вы закрываете соединение, или каким-либо образом переопределите его до нуля.