Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Novo objeto Mysqli é nulo


Eu também tive esse problema e estava ficando louco tentando depurá-lo. Acontece que, às vezes, por qualquer motivo, o objeto mysqli não é preenchido, mas acessar diretamente suas propriedades ainda executa o código nativo por trás dele. Portanto, mesmo que um var_dump de todo o objeto mysqli mostre propriedades nulas, elas estão lá se você as acessar individualmente. Se errorno for falso, você pode ter executado uma consulta válida com um conjunto de resultados vazio que não esperava. Espero que isto ajude.
$mysqli = mysqli_connect('localhost', 'root', '', 'test', 3306);

var_dump($mysqli);

var_dump($mysqli->client_info);
var_dump($mysqli->client_version);
var_dump($mysqli->info);

e a saída:
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