从old_text列获取特定页面内容

时间:2013-08-09 12:27:44

标签: mysql codeigniter

我要做的是从网页内容中获取电话联系人列表。

我的所有页面都存储在数据库中,我使用Code Igniter成功访问了该数据库。

我想将电话联系人列表输出为HTML表格。此列表位于其中一个页面上。此页面的内容在我的MySQL数据库中的表文本的old_text列中保存为BLOB类型。

我知道表格文本中页面的old_id值。我认为它可能有用。

如何在php脚本中使用MYSQL命令找到此联系人列表?

这是我的代码,我如何选择电话联系人列表所在页面的old_text值。

Code Igniter Controller:

class Site extends CI_Controller{
  public function index(){
     $data['record'] = $this->db->query('SELECT old_text FROM text WHERE old_id = 862');
     $this->load->view('home',$data);
  }
}

代码点火器查看home.php:

<!DOCTYPE html>

<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
    <div id="container">
    <?php print_r($record);?>
    </div>  
</body>


</html>

我得到了输出:

  

CI_DB_mysql_result对象([conn_id] =&gt;资源ID#28 [result_id] =&gt;资源ID#29 [result_array] =&gt; Array()[result_object] =&gt; Array()[custom_result_object] =&gt; Array()[current_row] =&gt; 0 [num_rows] =&gt; 1 [row_data] =&gt;)

我的意见中输出的原因可能是old_text内容为BLOB类型编码的事实。

我还尝试了以下命令,以便将BLOB字段作为varchar返回,但我得到了相同的输出。

SELECT cast(old_text AS char) FROM text WHERE old_id = 862

1 个答案:

答案 0 :(得分:1)

正如您在输出中看到的那样,$ data ['record']是一个CI_DB_mysql_result对象。

因此,您将“获取”此对象的数据。假设您只有1个结果:

class Site extends CI_Controller
{
  public function index()
  {
     $res = $this->db->query('SELECT old_text FROM text WHERE old_id = 862');
     if ($res->num_rows() > 0)
     {
        $data['record'] = $res->row(); 
     }
     else
     {
        $data['record'] = "no result";
     }
     $this->load->view('home',$data);
  }
}

如果你有多个结果,你必须循环$ res。

您可以查看http://ellislab.com/codeigniter/user-guide/database/results.html