Метка

mysql

Всего: 64 записи

Защита от SQL-инъекций

$arrs=array('_GET','_POST','_COOKIE');
foreach($arrs as $arr_key=>$arr_value){
	if(is_array($$arr_value)){
		foreach($$arr_value as $key=>$value){
			$nbz1=substr_count($value,'--');
			$nbz2=substr_count($value,'/*');
			$nbz3=substr_count($value,"'");
			$nbz4=substr_count($value,'"');
			if($nbz1>0||$nbz2>0||$nbz3>0||$nbz4>0){
				Print404();
				exit(); 
			}
		}
	}
}

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=83821

mysql: увеличить число на проценты

Увеличить значения какого либо поля на указанный процент от текущего значения для всех или группы строк:

UPDATE `tablename` SET `fieldname`=`fieldname`+(`fieldname`/100*процент)

Конкретный пример:
увеличить цену всех позиций каталога на 30% кроме тех, которые находятся в подкатегориях категории с id 203.

UPDATE `catalog` SET `price`=`price`+(`price`/100*30) WHERE `parent` NOT IN (SELECT id FROM `razdel` WHERE `parent`='203')

mysql: импорт в таблицу из текстового файла

Было актуально для импорта большого csv, для экономии ресурсов на разборку файла при помощи php.

LOAD DATA LOCAL INFILE "file_name.csv"
INTO TABLE table_name
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Готовый пример php:

mysql_query("TRUNCATE TABLE `bitrix_catalog`;");
mysql_query("LOAD DATA LOCAL INFILE \"".$file_catalog_path."\"
INTO TABLE bitrix_catalog
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '\"'
ESCAPED BY '\"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;");

Читать далее

mysql: where strip_tags

Чтобы, например, при поиске в таблице не учитывались html теги вместо LIKE стоит использовать REGEXP. Пример в двумя вариантами:

SELECT * from `tablename` WHERE ( `name` LIKE '%строка поиска%') OR ( `content` REGEXP '>[^<]*строка поиска');