0

我创建了一个小型测试数据库,如下所示:

mysql> select * from person;
+-----------+-------------+
| firstName | lastName    |
+-----------+-------------+
| matt      | butcher     |
| emanuel   | garbaciovas |
+-----------+-------------+
2 rows in set (0.00 sec)

然后我写了一个简单的 QueryPath 脚本,如下所示:

<?php

    require 'src/QueryPath/QueryPath.php';
    require 'src/QueryPath/Extension/QPDB.php';



    $input = qp(QueryPath::XHTML_STUB,'body')
      ->dbInit('mysql:host=localhost;dbname=qpdb',
        array(username=>'my_username',password=>'my_password'))
      ->queryInto('SELECT firstName FROM person WHERE lastName="butcher"')
      ->doneWithQuery()->writeHTML()->find('body')->text();

    print $input;

?>

现在,我需要我得到的查询的字符串[文本值] [即我得到我想要的,然后我将其用作 web/excel/csv/etc 上 html 文本表单的输入],但问题是,当我从命令行运行这个脚本时,我得到了我不需要的额外的 HTML 代码/文档块,即输出如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x
html1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
  <title>Untitled</title>
  </head>
  <body>matt</body>
  </html>
matt

所以基本上我想要的是“马特”,这是我得到的,但我也得到了所有这些“额外”,你可以看到我不想要的。有谁知道如何只提取“马特”?

我显然不能直接从 MySQL 查询中提取文本,因为它是一个资源/对象,所以有人知道一种方法/破解它吗?QueryPath 或 No QueryPath 很好 [虽然 QueryPath hack 更好!]

4

0 回答 0