Мой скрипт, содержащий эту ошибку, таков:
$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. Проверьте, слишком ли рано или поздно вы закрываете соединение, или каким-либо образом переопределите его до нуля.