Дефисы в именах столбцов в MySQL DB

Если вы хотите настроить запросы из вашего приложения codeigniter, попробуйте следующее: вы должны создать хук с именем Ajax_only.php в папке application / hooks

class Ajax_only {
    private 

Если вы хотите настроить запросы из вашего приложения codeigniter, попробуйте следующее: вы должны создать хук с именем Ajax_only.php в папке application / hooks

[110]

и настроить ваше приложение / config / hooks.php файл

$hook['post_controller_constructor'] = array(
    'class' => 'Ajax_only',
    'function' => 'eval_request',
    'filename' => 'Ajax_only.php',
    'filepath' => 'hooks'
);
controllers = []; private $CI; public function __construct() { $this->CI =& get_instance(); } public function eval_request() { $controller = $this->CI->router->fetch_class(); $method = $this->CI->router->fetch_method(); if ( array_key_exists( $controller, $this->_controllers ) && $this->CI->input->is_ajax_request() === FALSE ) { if ( ( $this->_controllers[ $controller ] === TRUE || ( is_array( $this->_controllers[ $controller ] ) && array_key_exists( $method, $this->_controllers[ $controller ] ) && $this->_controllers[ $controller ][ $method ] === TRUE ) ) ) { show_404(); } } } } /*Examples *

Если вы хотите настроить запросы из вашего приложения codeigniter, попробуйте следующее: вы должны создать хук с именем Ajax_only.php в папке application / hooks

[110]

и настроить ваше приложение / config / hooks.php файл

$hook['post_controller_constructor'] = array(
    'class' => 'Ajax_only',
    'function' => 'eval_request',
    'filename' => 'Ajax_only.php',
    'filepath' => 'hooks'
);
controllers = [ * 'my_controller_name' => TRUE //all methods must be ajax * 'my_controller_name => [ * 'method_name' => TRUE //only the selected methods must be ajax * ] * ] */

и настроить ваше приложение / config / hooks.php файл

$hook['post_controller_constructor'] = array(
    'class' => 'Ajax_only',
    'function' => 'eval_request',
    'filename' => 'Ajax_only.php',
    'filepath' => 'hooks'
);
21
задан Abdulla Nilam 25 October 2017 в 07:01
поделиться

3 ответа

заключите имена в `back-ticks`

41
ответ дан 29 November 2019 в 06:56
поделиться

Есть ли у вас дефис (-) или подчеркивание (_) в именах столбцов?

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

В зависимости от характера вашей проблемы вы можете использовать несколько различных подходов:

  1. Переименовать все ваших столбцов с помощью ALTER TABLE. Помните, что это может повлиять на ссылочную целостность или другие приложения, зависящие от базы данных. Если вы не знаете, что это значит, не делайте этого.
  2. Создавайте представления SQL, которые просто переформулируют нужные вам таблицы, но с «лучшими» именами столбцов. Это не очень эффективно, но позволит вам получить то, что вы хотите.
  3. Используйте ключевое слово AS при выполнении операторов SELECT для переименования столбцов в запросах.

Ни одно из этих решений не является отличным, но они должны помочь вам началось. Удачи!

5
ответ дан 29 November 2019 в 06:56
поделиться

Эта запись на форуме MySQL предполагает, что у вас может быть проблема. Однако я думаю, что это относится к данным, а не к именам столбцов.

Это говорит: «Не делайте этого». Не знаю, насколько это авторитетно.

0
ответ дан 29 November 2019 в 06:56
поделиться
Другие вопросы по тегам:

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