Jeg havde også dette problem og var ved at blive sindssyg med at prøve at fejlfinde det. Det viser sig, at nogle gange af en eller anden grund bliver mysqli-objektet ikke udfyldt, men direkte adgang til dets egenskaber udfører stadig den oprindelige kode bag det. Så selvom en var_dump af hele mysqli-objektet viser null-egenskaber, er de der, hvis du tilgår dem individuelt. Hvis errorno viser sig at være falsk, har du muligvis udført en gyldig forespørgsel med et tomt resultatsæt, som du ikke havde forventet. Håber dette 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);
og outputtet:
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