• Почему замедляется работа скрипта?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    оптимизировать работу с базой. Я на 99% уверен что:
    - товары вставляются по одному
    - перед каждой вставкой вы проверяете наличие категорий и прочего через базу, причем индексов в базе у вас нет или mysql (вы же mysql используете?) у вас настроена дефолтным образом и выходит много чтений с диска

    Хотя даже при таком раскладе 20 часов для 16К элементов это как-то сильно долго...
    Ответ написан
    5 комментариев
  • Как перепрыгнуть часть кода (goto)?

    SowingSadness
    @SowingSadness
    web-разработчик
    Лучше научиться писать грамотный код, а не портянку которую вы тут воротите.
    В вашем случае нужно узнать что такое MVC. Написать хоть какое то подобие валидаторов, которые возвращают или true или текст ошибки.

    Сначала проверять через валидаторы все значения и возвращать сразу ошибки, если они есть. Если же нет, то строить запрос через форматирование или замену, а не через конкатенацию.

    /**
      *@param Request $request
      */
      function my_action($request) 
      {
    		$validator = ValidatorLength(3);
    		$error = $validator->test($request->get('first_name'));
    		if ($error !== true) {
    			return new Response($error, 400);
    		}
    
    		$sql = 'SELECT * FROM "my_table" WHERE %condition %limit';
    		$sql_condition = 'TRUE';
    		$sql_limit = '';
    
    		$and_conditions = [];
    		if ($request->get('first_name')) {
    			$and_conditions[] = sprintf('first_name LIKE \%%s', $request->get('first_name')); 
    		}
    
    		if ($request->get('limit')) {
    			$sql_limit = sprintf('LIMIT %d', $request->get('limit'));			
    		}
    
    	  $sql_condition = implode(" AND ", $and_conditions);
    
    		$sql = str_replace('%condition', $sql_condition, $sql);
    		$sql = str_replace('%limit', $sql_limit, $sql);
    
    		// ...
    
    		return new Response("Hello world");
    	}

    Request, Response, ValidatorLength - это всё вымышленные классы.

    То что вы пишите НИ В КОЕМ СЛУЧАЕ даже для теста делать нельзя. Такой код нужно выбрасывать.

    Ну и да, лучше вместо замены в запросах, лучше использовать подготовленные запросы:
    https://php.net/manual/ru/pdo.prepared-statements.php
    Ответ написан
    1 комментарий
  • От какого компьютера клавиатура?

    Moskus
    @Moskus
    Наличие обозначений цветов в верхнем ряду и кнопка Symbol Shift - это, безусловно, Spectrum.
    Кнопка Ext Mode - это уже точно не модель с 48Кб памяти, она появилась на модели 128K.
    Далее, непродолжительный поиск по картинкам дает результат - Квант-БК МС0530, он же - "Pentagon".
    Точно такая же клавиатура использовалась и в других моделях, производившихся уже не серийно, а всякими кооперативами, в том числе, использовалась в моделях с 512К памяти, где уже был системный блок и отдельная клавиатура.
    Ответ написан
    Комментировать