0

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

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

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

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

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

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

代码点火器控制器:

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 Object ( [conn_id] => Resource id #28 [result_id] => Resource id #29 [result_array] => Array ( ) [result_object] => Array ( ) [custom_result_object] => Array ( ) [current_row] => 0 [行数] => 1 [行数据] => )

在我看来,这个输出的原因可能是 old_text 内容编码为 BLOB 类型。

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

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

1 回答 1

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

于 2013-08-09T17:36:13.097 回答