Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Neues Mysqli-Objekt ist Null

Ich hatte dieses Problem auch und wurde verrückt, als ich versuchte, es zu debuggen. Es stellt sich heraus, dass das mysqli-Objekt manchmal aus irgendeinem Grund nicht ausgefüllt wird, aber der direkte Zugriff auf seine Eigenschaften immer noch den nativen Code dahinter ausführt. Obwohl also ein var_dump des gesamten mysqli-Objekts Null-Eigenschaften anzeigt, sind sie vorhanden, wenn Sie einzeln darauf zugreifen. Wenn sich errorno als falsch herausstellt, haben Sie möglicherweise eine gültige Abfrage mit einer leeren Ergebnismenge ausgeführt, die Sie nicht erwartet hatten. Hoffe das hilft.

$mysqli = mysqli_connect('localhost', 'root', '', 'test', 3306);

var_dump($mysqli);

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

und die Ausgabe:

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