@sequelone

Данные в базу MySQL не импортируются и вызывают ошибку. Как исправить?

Всем привет. При перепиливании скрипта для парсинга litres.ru по API вместо процедурных подключений с mysql_ я всё переисал на ООП под PHP 7 $mysqli->. В начале импортировалось всё нормально в таблицу litres_data, но я забыл переделать под ООП выводы mysql_real_escape_string($author_name), чтобы выглядело вот так:

$mysqli->real_escape_string($author_name);

Сейчас при импорте php import_litres_data.php мне выдаёт такие ошибки:

sitecom@server1:~/www/site.com/litres$ php import_litres_data.php                                                                  
Соединение в порядке!                                                                                                                        
PHP Fatal error:  Uncaught Error: Call to a member function query() on null in /var/www/sitecom/data/www/site.com/litres/functi
ons.php:128                                                                                                                                  
Stack trace:                                                                                                                                 
#0 /var/www/sitecom/data/www/site.com/litres/import_litres_data.php(76): delete_litres_book(Object(SimpleXMLElement))          
#1 {main}                                                                                                                                    
  thrown in /var/www/sitecom/data/www/dle.horrorstory.ru/litres/functions.php on line 128                                                
                                                                                                                                             
Fatal error: Uncaught Error: Call to a member function query() on null in /var/www/sitecom/data/www/site.com/litres/functions.p
hp:128                                                                                                                                       
Stack trace:                                                                                                                                 
#0 /var/www/sitecom/data/www/site.com/litres/import_litres_data.php(76): delete_litres_book(Object(SimpleXMLElement))          
#1 {main}                                                                                                                                    
  thrown in /var/www/sitecom/data/www/site.com/litres/functions.php on line 128


По номеру строки у нас такая функция:

function delete_litres_book($hub_id){
		//удаляем книги путем простановки options=0
		$q = "UPDATE `litres_data` SET options=0 WHERE hub_id=" . $hub_id;
		$mysqli->query($q);
	}


чтобы было понятнее что из себя всё это дело представляет, залил на GitHub:

https://github.com/SequelONE/Litres.ru-DLE

Нативная версия PHP 7.0.30
Подскажите пожалуйста что не так?!
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
function delete_litres_book($hub_id){
    global $mysqli;
    //удаляем книги путем простановки options=0
    $q = "UPDATE `litres_data` SET options=0 WHERE hub_id=" . $hub_id;
    $mysqli->query($q);
  }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Внутри функции переменная $mysqli не определена.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы