我创建了一个小型测试数据库,如下所示:
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 更好!]