Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 584

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 584

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 584

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 584

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 603

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 702

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 702

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 702

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 702

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /home/mchedlishvili.com/mike/WWW/wp-includes/classes.php on line 727

Strict Standards: Redefining already defined constructor for class wpdb in /home/mchedlishvili.com/mike/WWW/wp-includes/wp-db.php on line 58

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-includes/cache.php on line 99

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/mchedlishvili.com/mike/WWW/wp-includes/cache.php on line 404

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-includes/theme.php on line 576

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/exec-php.php on line 22

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/manager.php on line 34

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/manager.php on line 35

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/manager.php on line 36

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/admin.php on line 42

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/admin.php on line 48

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/admin.php on line 49

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/admin.php on line 50

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/ajax.php on line 61

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/cache.php on line 33

Deprecated: Assigning the return value of new by reference is deprecated in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/exec-php/includes/cache.php on line 42

Strict Standards: Redefining already defined constructor for class ngg_Tags in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/lib/nggallery.lib.php on line 559
Базы данных | Миша.Мчедлишвили


Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Для помещеня бинарного файла в базу данных, надо…

1. создайте таблицу с полем BLOB

2. прочитайте данные, которые надо поместить в базу данных, в переменную $upload. Если это файл (картинка) на диске, то сделайте это так:

Продолжение »



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Например, почему не работает такой запрос:

SELECT * FROM tableName WHERE charFieldName LIKE "%\\%"

- выбрать из таблицы tableName ряды в которых поле charFieldName содержит обратный слэш (\). При этом сам обратный слэш в запросе экранирован.

Ответ: Потому что запрос неправильно записан.

Правильный запрос выглядит так:

SELECT * FROM tableName WHERE charFieldName LIKE "%\\\\%"

Чтобы выполнить поиск символа ‘\’, его следует указать как ‘\\\\’. При чиной такой записи является то, что обратные слеши удаляются дважды: сначала синтаксическим анализатором, а потом - при выполнении сравнения с шаблоном, таким образом остается только один обратный слеш, который и будет обрабатываться.



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Для выборки случайного ряда из таблицы можно воспользоваться запросом:

SELECT * FROM table ORDER BY RAND() LIMIT 1;

Однако для лучшей производительности при большом количестве рядов и наличии первичного индекса по полю id который идет БЕЗ ПРОПУСКОВ, в целях оптимизации производительности лучше воспользоваться двумя выборками с генерацией случайного числа на стороне PHP скрипта:

$result = mysql_query(’SELECT MAX(id) FROM table’);
$max_id = mysql_result($result, 0);

$random_id = mt_rand(1, $max_id);

$row = mysql_query(’SELECT * FROM table WHERE id = ‘.$random_id);

Хочу отметить, что таблиц без удаленных рядов, а значит с наличием id без пропусков не так и много, поэтому данный пример не претендует на панацею.



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Бывают ситуации когда возникает необходимость обновить ряд с указанным ID, либо при отсутствии этого ID, вставить соответствующую ему запись. Таким образом нужно проверить есть ли в таблице запись с нужным ID через SELECT, если есть то выполнить UPDATE, иначе вставить ряд с помощью INSERT. Но есть более оптимальный путь, это использование в запросе вставки ON DUPLICATE KEY UPDATE.

INSERT INTO table SET column = 1, id=101 ON DUPLICATE KEY UPDATE column = column + 1

Что делает приведенный запрос? Запрос говорит следующее: вставить новый ряд, НО если ряд с указанным ID уже существует, то просто обновить в нем поле column. Следует учесть, что ID должен быть первичным или уникальным ключом!



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Владимир выложил полезную базу…

Эта база часто используется на сайтах в тех местах, где нужно выбрать свою страну и город, то есть довольно часто и во многих местах. А вот поделиться ей просто так никто не торопится.

База простая, в удобном SQL-формате, структура такая: id1-страна, id2-регион, id3-город, id1-id2, id2-id3.

Скачать (SQL, 383 Кб).

Если же вам нужна более глубокая адресная информация по России, то вам дорога либо в КЛАДР, либо в ОКАТО. Не смотря на то, что КЛАДР позиционируется как будущий стандарт адресного пространства, структура у него довольно странная, а вместо спецификации его создатели сделали программку для работы с КЛАДР. Но нам она бесполезна, поэтому вот вам внутренняя спецификация формата КЛАДР, пользуйтесь.

А вот здесь можно бесплатно скачать SQL-базу соответствий стран, городов и IP-адресов.



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Источник: http://topright.livejournal.com/

  1. Боритесь с рутиной! Инкапсулируйте её (в ж…),
    абстрагируйтесь от неё (на х…). Пишите всё единожды, локализуйте
    решение повседневных задач. Настоящие сенсеи выше двух низменных
    вещей: суеты желаний и размножения методом copy-paste.

  2. В начале проектирования перечислите и назовите все сущности
    предметной области (в нашем случае это site, page, module, user,
    language, session, cookie и т.д.). Не обязательно все эти сущности
    отразятся в архитектуре вашей системы в виде классов или файлов. Но
    в вашем распоряжении окажется богатая лексика предметной области,
    что поможет раскованному проектированию системы. По мере локализации
    решения стандартных задач (см. предыдущий совет), раскидывайте эти
    решения по наиболее подходящим сущностям (классам или файлам).
    Пускай ваши сущности постепенно обрастают мясом, методами,
    способностями. Чем не RPG?


    Продолжение »



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Источник: http://www.weblibrary.biz

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

Отметим, что полнотекстовый поиск был тщательно настроен для обеспечения наилучшей эффективности. Модификация поведения по умолчанию может в большинстве случаев только ухудшить результат. Не изменяйте исходных текстов MySQL, если только вы точно не знаете, что делаете!


Продолжение »



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Как узнать значение только что вставленного поля знают многие:

  1. $id = mysql_insert_id();

А вот узнать следующее значение можно, выполнив запрос:

  1. SHOW TABLE STATUS FROM `database_name` LIKE 'table_name'

Это так называемый TableHandler. В получившемся массиве элемент с индексом ‘Auto_increment’ (именно с большой буквы) и есть следующее значение auto_increment.


Продолжение »



Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10
  1. $count = @mysql_result(mysql_query("select count(DISTINCT id) AS total_unique from table"), 0);


Strict Standards: Non-static method nggallery::get_option() should not be called statically in /home/mchedlishvili.com/mike/WWW/wp-content/plugins/nextgen-gallery/nggfunctions.php on line 10

Некоторые БД более медленно выполняют создание новых соединений, чем другие БД. Чем дольше происходит создание нового соединения, тем больший смысл имеет использовать постоянное соединение с БД. Но учтите, что постоянные соединения связывают и используют ресурсы сервера, даже тогда, когда эти соединения простаивают.

Учтите, в PHP реализована функция отключения постоянных соединений, поэтому если у провайдера в конфигурации PHP установлена директива mysql.allow_persistent = Off, то соединения вызываемые функцией mysql_pconnect() будут обрабатываться как mysql_connect().


Продолжение »