【发布时间】:2013-05-12 14:13:43
【问题描述】:
通过 mysqli::fetch_object(所有 PHP5)从 MySQL 数据库中获取行作为对象,它们在 上看起来像这样var_dump:
class stdClass#5 (5) {
public $id =>
string(2) "23"
public $started =>
NULL
public $finished =>
NULL
public $mode =>
string(3) "XML"
public $mail =>
string(0) ""
}
现在开始这样做:
public function __construct($export) {
var_dump($export);
if (!($export instanceof stdClass)) {
//throw new exception ...
}
或者这个
public function __construct(stdClass $export) {
var_dump($export);
//...
甚至is_object($export) - 失败
我实际上得到了一个例外:
Fatal error: Uncaught exception 'Exception'
with message '$export is not an object'
或
Argument 1 passed to ConverterXML::__construct()
must be an instance of stdClass, none given
-
为什么
- 甚至更好 -
- 如何查看天气 $export 是 mysqli fetch_object 的匿名类?
【问题讨论】:
-
嗯...3v4l.org/MJtWp?你确定你真的在传递一些东西/正确的东西吗? “None given”似乎另有说明。
-
参见fetch-object 手册,您可以设置class_name 但如果未指定,则返回
stdClass对象。 -
var_dump 显示 $export 包含的内容多于“无”。它实际上包含一个 stdClass。
-
你能发布你的整个代码吗?您似乎得到了一个对象数组,但是如果不查看 如何 准确地获取数据,就很难判断。
-
如果您使用命名空间,那么您必须使用
\stdClass而不是stdClass。也许这就是你的问题。