@lazarboy

Как исправить проблему?

Нужно написать парсер цитат башорга с сохранением в бд.

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\Users\user\Desktop\open\OpenServer\domains\lazar.ua\index.php:11 Stack trace: #0 {main} thrown in C:\Users\user\Desktop\open\OpenServer\domains\lazar.ua\index.php on line 11


//Отключаем лимит ожидания и объявляем переменные
set_time_limit(0);
$content=NULL;$num_pages=NULL;
//Подключение к базе
//Подключаемся к базе данных
define ("HOST", "lazar.ua");
define ("DATABASE", "test");
define ("MYSQL_USER", "roor");
define ("MYSQL_PASS", "root");
mysql_connect(HOST, MYSQL_USER, MYSQL_PASS);mysql_query("set names utf8");mysql_select_db(DATABASE);
//Узнаём кол-во страниц
$content=file_get_contents('http://bash.im/');
preg_match('|max="(.*?)"|is',$content,$num_pages);
//Парсим каждую страницу
for ($i=1; $i <= $num_pages[1]; $i++){$i2=false;
    //Грузим страницы, вырезаем цитаты
    $content=file_get_contents('http://bash.im/index/'.$i);
    $quotes=explode('<span class="date">',$content);
    foreach($quotes as $quote){
        if($i2==false){$i2=true;continue;}
        //Номер цитаты
        preg_match('|class="id">#(.*?)</a>|is',$quote,$quote_id);
        //Текст цитаты
        preg_match('|<div class="text">(.*?)</div>|is',$quote,$quote_text);
        //Конвертация текста в UTF-8 и экранирование символов
        $quote_text=strip_tags(addslashes(htmlspecialchars(trim(iconv("windows-1251","UTF-8",$quote_text[1])))));
        //Вписываем в базу
        if($quote_text!=NULL){mysql_query("INSERT INTO `bash`(`id`,`quote_id`,`quote_text`) VALUES (NULL,'{$quote_id[1]}','{$quote_text}')");}
            }
    //От перезагрузки
    sleep(2);
    }
  • Вопрос задан
  • 80 просмотров
Решения вопроса 2
SagePtr
@SagePtr
Еда - это святое
Использовать mysqli или PDO. Расширение mysql много лет назад устарело, современными версиями PHP давно не поддерживается. Если есть тонны устаревшего кода, которые переписывать лень, можно использовать один из полифилов:
https://github.com/dshafik/php7-mysql-shim
https://github.com/dotpointer/mysql-shim
Ответ написан
@HPositron
Расширение mysql было признано устаревшим начиная с PHP 5.5.0 и полностью удалено в версии PHP 7. Наверное вам стоит попробовать mysqli или PDO.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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