Горбушка
Ищу её...
- Регистрация
- 2 Май 2008
- Сообщения
- 3.444
- Реакции
- 2.524
Не знаю в 11.2 или раньше, но наткнулся на очень интересный код в mysql.class.php:
Кто понял о чём речь - молодец, кто нет - читаем Для просмотра ссылки Войдиили Зарегистрируйся
Зачем это в DLE? Для меня загадка... Строгий режим MySQL особой защиты не даёт, да и DLE не плохо генерирует запросы чтобы фильтровать их на стороне MySQL...
Могу предположить, что это намёк на приближающийся PDO для других баз данных
PHP:
function sql_mode()
{
$remove_modes = array( 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'ONLY_FULL_GROUP_BY', 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE', 'TRADITIONAL' );
$res = $this->query( "SELECT @@SESSION.sql_mode" );
$row = $this->get_array();
if ( !$row[0] ) {
return;
}
$modes_array = explode( ',', $row[0] );
$modes_array = array_change_key_case( $modes_array, CASE_UPPER );
foreach ( $modes_array as $key => $value ) {
if ( in_array( $value, $remove_modes ) ) {
unset( $modes_array[ $key ] );
}
}
$mode_list = implode(',', $modes_array);
if($row[0] != $mode_list) {
$this->query( "SET SESSION sql_mode='{$mode_list}'" );
}
}
Кто понял о чём речь - молодец, кто нет - читаем Для просмотра ссылки Войди
Зачем это в DLE? Для меня загадка... Строгий режим MySQL особой защиты не даёт, да и DLE не плохо генерирует запросы чтобы фильтровать их на стороне MySQL...
Могу предположить, что это намёк на приближающийся PDO для других баз данных