sql >> Databasteknik >  >> RDS >> Mysql

Det nya Mysqli-objektet är Null

Jag hade det här problemet också och höll på att bli galen när jag försökte felsöka det. Det visar sig att mysqli-objektet ibland, av någon anledning, inte fylls i, men direkt åtkomst till dess egenskaper körs fortfarande den ursprungliga koden bakom det. Så även om en var_dump av hela mysqli-objektet visar nollegenskaper, finns de där om du kommer åt dem individuellt. Om errorno visar sig vara falskt kan du ha kört en giltig fråga med en tom resultatuppsättning som du inte förväntade dig. Hoppas detta hjälper.

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

var_dump($mysqli);

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

och utdata:

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. Få nästa automatiska ökning

  2. InnoDB Tabellen är full fel

  3. Cast från VARCHAR till INT - MySQL

  4. MySQL - Hur summerar man tider?