我正在尝试使用PHP中的Mysqli创建与MySQL数据库的连接.当我在独立页面上执行以下代码时:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$link = new mysqli('localhost', 'myuser', 'mypass', 'dbname');
var_dump($link);
Run Code Online (Sandbox Code Playgroud)
我输出的只是一个空的Mysqli对象,其中所有属性都为null.没有错误或任何东西显示.
我也没有在Apache或MySQL日志中看到任何条目.我很沮丧.
小智 9
我也有这个问题,并试图调试它疯了.事实证明,有时无论出于何种原因,mysqli对象都没有被填充,但是直接访问它的属性仍然会执行它背后的本机代码.因此,即使整个mysqli对象的var_dump显示空属性,如果您单独访问它们,它们也在那里.如果errorno结果为false,那么您可能已经执行了一个您没有期望的空结果集的有效查询.希望这可以帮助.
$mysqli = mysqli_connect('localhost', 'root', '', 'test', 3306);
var_dump($mysqli);
var_dump($mysqli->client_info);
var_dump($mysqli->client_version);
var_dump($mysqli->info);
Run Code Online (Sandbox Code Playgroud)
和输出:
object(mysqli)[1]
public 'affected_rows' => null
public 'client_info' => null
public 'client_version' => null
public 'connect_errno' => null
public 'connect_error' => null
public 'errno' => null
public 'error' => null
public 'field_count' => null
public 'host_info' => null
public 'info' => null
public 'insert_id' => null
public 'server_info' => null
public 'server_version' => null
public 'stat' => null
public 'sqlstate' => null
public 'protocol_version' => null
public 'thread_id' => null
public 'warning_count' => null
string 'mysqlnd 5.0.8-dev - 20102224 - $Revision: 321634 $' (length=50)
int 50008
null
int 0
string 'localhost via TCP/IP' (length=20)
string '5.5.20-log' (length=10)
int 50520
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6957 次 |
| 最近记录: |