Mysql
 sql >> Database >  >> RDS >> Mysql

Il nuovo oggetto Mysqli è nullo

Anch'io ho avuto questo problema e stavo impazzendo cercando di eseguirne il debug. Si scopre che a volte per qualsiasi motivo l'oggetto mysqli non viene popolato, ma l'accesso diretto alle sue proprietà esegue comunque il codice nativo dietro di esso. Quindi, anche se un var_dump dell'intero oggetto mysqli mostra proprietà null, sono presenti se accedi individualmente. Se errorno risulta essere falso, potresti aver eseguito una query valida con un set di risultati vuoto che non ti aspettavi. Spero che questo aiuti.

$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 l'output:

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