从数据库中选择数据并给出错误

时间:2011-10-14 09:25:39

标签: php codeigniter

我想从数据库表行name获取,但在其中我得到错误。 ($query->code_airline =>是从数据库表行中选择的其他查询)

代码:

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

错误:

  

遇到PHP错误
严重性:通知
消息:尝试   获取非对象的属性
文件名:core / Loader.php(679):   eval()'d code
行号: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):第49行的eval()代码

如何解决?

更新

我用作:

<?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()'d code
行号:52

1 个答案:

答案 0 :(得分:0)

您在变量作业中没有ECHO

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

另外,我相信你在调用$ query-&gt; 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
   }