Выберите данные из базы данных и введите ошибку - PullRequest
0 голосов
/ 14 октября 2011

Я хочу получить из строки таблицы базы данных name, но в нем я получаю сообщение об ошибке.($query->code_airline => - другой запрос, выбранный из строки таблицы базы данных)

код:

<?=$this->db->get_where('ticket_code', array( 'code' => $query->code_airline ))->row()->name?>

ошибка:

Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: Попытка получить свойство не-объекта
Имя файла: core / Loader.php (679): код eval () d
Номер строки: 48

Если хотите использовать его как:

<?php //This is line 49
    $ca = echo $query->code_airline;
    $query_tc = $this->db->get_where('ticket_code', array( 'code' => $ca ))->row();
    echo $query_tc->name;
?>

, имеют эту ошибку:

Ошибка разбора: синтаксическая ошибка, неожиданный T_ECHO в D: \ xampp \ htdocs\ system \ core \ Loader.php (679): код eval () в строке 49

Как это исправить?

Обновление:

Я использую как:

<?php
    $ca = $query->code_airline;
    $query_tc = $this->db->get_where('ticket_code',array('code'=>$ca));
    $row = $query_tc->row(); //This is line 52
    echo $row->name;

?>

У меня есть эта ошибка с кодом выше php:

Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: попытка получить свойство необъекта
Имя файла: core / Loader.php (679): код eval ()
Номер строки: 52

1 Ответ

0 голосов
/ 14 октября 2011

Вы не ECHO в присваивании переменной

 $ca = $query->code_airline;  //no echo here!

Кроме того, я считаю, что вы что-то делаете неправильно при вызове $ query-> code_airline, но вы не предоставили свой код, поэтому я 'Я просто догадываюсь.

Предложение: цепочка - хорошая функция, но она может сбивать с толку, особенно если она написана в виде одной строки.Прежде всего, напишите это полностью, вы можете «сжать» ваш код позже, если вы чувствуете так;помните о удобочитаемости и удобстве обслуживания:

$query_tc = $this->db->get_where('ticket_code',array('code'=>$ca));
// $ca is the value assigned above. Make sure you're calling $query->code_airline correctly, as per my suggestion.
$row = $query_tc->row();
echo $row->name;

ОБНОВЛЕНИЕ: вы можете быть уверены, что результат действительно есть.

   $query_tc = $this->db->get_where('ticket_code',array('code'=>$ca));
   // $ca is the value assigned above. Make sure you're calling $query->code_airline correctly, as per my suggestion.
   if ($query_tc->num_rows() > 0)
   {
     $row = $query_tc->row();
     echo $row->name;
   }
   else
   {
     //do something else
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...