sql >> Databáze >  >> RDS >> Mysql

Nový objekt Mysqli je Null

Měl jsem tento problém také a šílel jsem, když jsem se ho snažil odladit. Ukazuje se, že někdy z jakéhokoli důvodu není objekt mysqli naplněn, ale přímý přístup k jeho vlastnostem stále provádí nativní kód za ním. Takže i když var_dump celého objektu mysqli zobrazuje vlastnosti null, jsou zde, pokud k nim přistupujete jednotlivě. Pokud se ukáže, že errorno je nepravdivé, možná jste provedli platný dotaz s prázdnou sadou výsledků, kterou jste neočekávali. Doufám, že to pomůže.

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

var_dump($mysqli);

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

a výstup:

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


  1. MySQL:Udělte **všechna** oprávnění k databázi

  2. Uložená procedura Oracle s parametry pro klauzuli IN

  3. MySQL:Jak zkopírovat řádky, ale změnit několik polí?

  4. Nejlepší způsob, jak uložit název kategorie z php do tabulky mysql