Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » MySQL » Вопрос по причине отказа базы данных?

Вопрос по причине отказа базы данных?


     21.11.2017    Все вопросы » MySQL    1131

вопрос
Сегодня почему-то перестал работать прогонщик ссылок... Вчера добавил в базу новых, и в общем получилось 1835 штук в базе. Прогнало только 1822 и все, запускаю заново прогружается как для старта и останавливается...
В скрипте есть фишка одна, идет запоминание № ID ссылки, чтобы повторно не прогонять по ней и в базе (раздел с добавленными сайтами в скрипт) есть строка у каждого сайта и там записываются все ид, которые прогнались...Вот я и подумал, может это из-за такого количества данных она перестала работать... Удалил все сайты с скрипта и очистил базу, начало работать опять.... Может такое быть из-за такого количества данных в базе и возможно ли что-то сделать чтобы такого больше не было?

Ответа пока нет


11 комментариев

Sander
PHP-developer

Sander - 21 ноября 2017 17:44 -

1. Открыть стрницу (Chrome)
2. Нажать F12
3. Запустить прогон.
4. Подождать секунд 30
5. Зайти во вкладку Console, посмотреть есть ли там чего из ошибок.
6. Зайти во вкладку Network и посмотреть что пишет обработчик. Есть вероятность, что там mysql ошибка, а JS обработчик модуля просто не может ее распознать и ничего не сообщает.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

baseroad
Юзер

baseroad - 22 ноября 2017 10:16 -

Ту проблему решили. Поменяли тип базы на ТЕХТ и поставили по умолчанию нет (был установлен варчер или как его там и 8000 символов в значении). Сейчас блин другая проблема.... Добавляю в скрипт свою базу песен и там вместо
Mr. President - Coco Jambo (DJ XN Remix) добавляется xn--80ayrec
или вместо Наизусть добавляет xn--80aocsxgf8e
В чем может быть косяк? При том, что это не со всеми так, а вот только блин, с какими то избранными названиями...
В таблице базы стоит Тип: ТЕХТ
По умолчанию: Нет
Сравнение: Утф8_бин

Текст уже и в утф перекодировал и в анси, ситуация та же(

Sander
PHP-developer

Sander - 22 ноября 2017 10:55 -

Кодировка поля и таблицы должна быть utf8_general_ci

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

baseroad
Юзер

baseroad - 22 ноября 2017 11:05 -

Зашел в структуру таблицы и поменял там кодировку строки, в которую записывались данные. Но как поменять кодировку самой таблицы (она тоже утф_бин)?

baseroad
Юзер

baseroad - 22 ноября 2017 11:10 -

Нашел в "Операции" как поменять, но блин нечего не изменилось... Вместо Наизусть заносит в базу xn--80aocsxgf8e

MikeTheRaven
Юзер

MikeTheRaven - 22 ноября 2017 13:06 -

Кодировку соединения указать нужно.

baseroad
Юзер

baseroad - 22 ноября 2017 13:07 -

это как и где?

Sander
PHP-developer

Sander - 22 ноября 2017 13:56 -

engine/data/dbconfig.php
define ("COLLATE", "utf8");

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

baseroad
Юзер

baseroad - 22 ноября 2017 14:11 -

скрипт не привязан к DLE... Но файлы там в utf8...

baseroad
Юзер

baseroad - 28 ноября 2017 19:48 -

помогите еще разок с этим скриптом
Получается, что сейчас одновременно скрипт прогоняет сразу 2 сайта по 1 ссылки, через 60 секунд по другой и так дальше
Можно сделать, чтобы именно между прогоном по ссылке была пауза. Например, берется ссылка 1 прогоняется по 1-му сайту, через 30 сек по втором, через 30 по третьем и так далее и пока не прогонит все добавленные сайты, потом берет вторую ссылку и точно также повторяет?
Просто прогонять за 1 секунду сразу 2 запроса, сильно нагружает аккаунт вк (сайт парсит музыку с вк, а прогонщик добавляет в юрл название песни, тем самым добавляя ее на сайт). Помогите плз
Вот 2 php кода
1-й записан в index.php и отвечает за сам прогон

else if (isset($_GET['progon'])) {

require_once 'progon/start.php';
sleep(60);

}

а вот файл start.php - https://pastebin.com/mbTinqys

baseroad
Юзер

baseroad - 22 ноября 2017 14:13 -

Вот так выглядит файл добавления запросов в базу
<?php
	
	if (isset($_GET['instb'])) {
		
		$spis=$_POST['adr'];
		if ($spis=='') {die('Пришел пустой список, отменено.');}
		
		$sp=explode("\r\n",$spis); $k=count($sp);
		
		for ($i=0; $i<$k; $i++) {
		
		$name=mysql_real_escape_string(trim($sp[$i]));
		$name=mb_strtolower($name,"utf-8");
		$name=$idn->encode($name);
		
		$tips=(int)$_POST['tips'];
		$geo=(int)$_POST['geo'];
	
		
		$res=mysql_query("SELECT * FROM muv_baza WHERE adr='$name' LIMIT 1"); if (mysql_num_rows($res)<1) {
		$res2=mysql_query("INSERT INTO muv_baza (adr,geo,tipa,active,nwdate,nwkolvo) VALUES ('$name','$geo','$tips','1','1999-12-31','0')");
		echo '<li>'.$name.' добавлен';
		}
		else {
				echo '<li>'.$name.' дубль';
		}
		}
		
		}
	
	else {
		echo '<h4>Добавление в базу списком, один в строке</h4><form action="'.$url0.'&instb" method="POST">
		<table>
		<tr><td colspan="2"><textarea name="adr" style="width:600px;height:400px;" required></textarea><br><br></td></tr>
		<tr><td>Тип</td><td><select name="tips"><option value="0">Без указания</option>'; 
		$res=mysql_query("SELECT * FROM muv_tips ORDER BY name"); while ($row=mysql_fetch_assoc($res)) {echo '<option value="'.$row['id'].'">'.$row['name'].'</option>';}
		echo '</select></td></tr>
		<tr><td>Гео</td><td><select name="geo"><option value="0">Без указания</option>'; 
		$res=mysql_query("SELECT * FROM muv_geo ORDER BY name"); while ($row=mysql_fetch_assoc($res)) {echo '<option value="'.$row['id'].'">'.$row['name'].'</option>';}
		echo '</select></td></tr>
		</table>
		<br><input type="submit" value="Сохранить">
		</form>';
	}
	
?>

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 17.04.2013 Alexs-Yakut  MySQL
 28.10.2013 blazer-05  MySQL
наверх