Перейти к контенту
  • 0

Ошибка или так и надо?


.silent

Вопрос

Столкнулся недавно с такой проблемой интересной.

Начал модифицировать один из стандартных query и поставил на вход элемента 'from' в массиве запроса две таблицы с алиасами.

 

примерно так:

$this->ipsclass->DB->build_query(
array('select' => 'p.*, t.tid, t.title as topic_title',
'from'  => array('posts' => 'p',
	 'topics' => 't'), 
'where' => 'p.topic_id = t.tid',
'order' => 'p.pid desc')

и на execute_query он мне выдает ошибку - мол запрос неверный. гляжу в запрос, а там

 

 ... FROM ibf_Array ...

начал разбираться и лазить по коду.

оказалось что если в запросе есть элемент add_join то массив на from разбивается по человечески, а вот на простой обработке - нет, прямо так в запрос и передается.

 

это ошибка или я что-то не так делал?

 

решил проблему следующим путем. теперь функция simple_select из class_db_mysql.php выглядит так:

 

	function simple_select( $get, $table, $where="" )
{
	if (is_array($table))
	{
		$final_from = array();
		$from_array = array();

		$from_array = $table;

   	foreach( $from_array as $tbl => $alias )
			$final_from[] = $this->obj['sql_tbl_prefix'].$tbl.' '.$alias;

   	$table = implode( ","	 , $final_from);		
	} 
	else 
		$table = $this->obj['sql_tbl_prefix']."$table";

	$this->cur_query .= "SELECT $get FROM $table";

	if ( $where != "" )
	  $this->cur_query .= " WHERE ".$where;
}

если кому поможет - пользуйте.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

Пока что нет ответов на этот вопрос

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.