Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le nouvel objet Mysqli est nul

J'ai eu ce problème aussi et je devenais fou en essayant de le déboguer. Il s'avère que parfois, pour une raison quelconque, l'objet mysqli n'est pas rempli, mais l'accès direct à ses propriétés exécute toujours le code natif derrière lui. Ainsi, même si un var_dump de l'ensemble de l'objet mysqli affiche des propriétés nulles, elles sont là si vous y accédez individuellement. Si errorno s'avère être faux, vous avez peut-être exécuté une requête valide avec un jeu de résultats vide que vous n'attendiez pas. J'espère que cela vous aidera.

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

var_dump($mysqli);

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

et la sortie :

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