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