为什么用var_dump()打印mysqli对象的时候,结果都是null?

WBOY
풀어 주다: 2016-06-06 20:21:52
원래의
1446명이 탐색했습니다.

为什么用var_dump()打印mysqli对象的时候,结果都是null?

代码如下:

<code>$mysqli=new mysqli("localhost:3307","root","","test");
var_dump($mysqli);
print_r($mysqli);
</code>
로그인 후 복사
로그인 후 복사

回复内容:

为什么用var_dump()打印mysqli对象的时候,结果都是null?

代码如下:

<code>$mysqli=new mysqli("localhost:3307","root","","test");
var_dump($mysqli);
print_r($mysqli);
</code>
로그인 후 복사
로그인 후 복사

$mysqli=new mysqli("localhost:3306","root","","test");
var_export($mysqli);
echo "
";
var_dump($mysqli);
echo "
";
print_r($mysqli);

返回结果为mysqli::__set_state(array( 'affected_rows' => NULL, 'client_info' => NULL, 'client_version' => NULL, 'connect_errno' => NULL, 'connect_error' => NULL, 'errno' => NULL, 'error' => NULL, 'field_count' => NULL, 'host_info' => NULL, 'info' => NULL, 'insert_id' => NULL, 'server_info' => NULL, 'server_version' => NULL, 'stat' => NULL, 'sqlstate' => NULL, 'protocol_version' => NULL, 'thread_id' => NULL, 'warning_count' => NULL, ))

查了下 var_export
var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值
但是, 当变量类型为resource的时候, 是无法简单copy复制的,所以, 当var_export的变量是resource类型时, var_export会返回NULL

关于楼主的问题 可能也是类似原因

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿