У меня проблемы с электронной почтой перед ошибкой загрузки, в ней говорится
Warning: count(): Parameter must be an array or an object that implements Countable in /wp-content/plugins/email-before-download/includes/class-email-before-download-db.php on line 56
Как мне исправить эту проблему?
@MikeAron увидеть этот public function item_exists($data) { //check if item exists and if it needs updated $query = $this->db->get_row("SELECT * FROM $this->item_table WHERE download_id = '" . $data['download_id'] . "'"); if (count($query) > 0) { if ($query->file != $data['file']) { $this->db->update($this->item_table, array('file' => $data['file']), array('id' => $query->id) ); } if ($query->title != $data['title']) { $this->db->update($this->item_table, array('title' => $data['title']), array('id' => $query->id) ); } return $query->id; } return false; } Как мне это исправить?
Пожалуйста, разместите свой дополнительный код в вашем сообщении, а не как комментарий.
Вы говорите, что это плагин WP. Код неверен от начала до конца. Функции базы данных не являются нормой WP. Так что я не могу вам помочь, я не знаю, что вернет $ this-> db-get_row. Но чтобы только предотвратить ошибку, вы можете заменить count ($ query) на is_array ($ query) && count ($ query)






Чтобы предотвратить ошибку. Заменять
if (count($query) > 0) {
с участием
if (is_array($query) && count($query) > 0) {
спасибо, это работает, но когда я нажимаю кнопку загрузки, заполняю контактную форму 7 отправьте ее, но после отправки ссылки для загрузки нет
как я уже сказал, я не знаю, что это за функция, чтобы ее проанализировать глубже. Приведенный выше код предназначен только для предотвращения ошибки.
счетчик функций в php принимает счетный параметр, такой как массив или объект. Посмотрите в строке 56 параметр для count может быть строкой вроде count ($ param). Вы можете проверить массив перед функцией подсчета, чтобы предотвратить ошибки