Saya juga mengalami masalah ini dan menjadi gila mencoba men-debugnya. Ternyata terkadang karena alasan apa pun objek mysqli tidak terisi, tetapi mengakses propertinya secara langsung masih mengeksekusi kode asli di belakangnya. Jadi, meskipun var_dump dari seluruh objek mysqli menunjukkan properti null, properti tersebut ada jika Anda mengaksesnya satu per satu. Jika errorno ternyata salah, Anda mungkin telah menjalankan kueri yang valid dengan kumpulan hasil kosong yang tidak Anda harapkan. Semoga membantu.
$mysqli = mysqli_connect('localhost', 'root', '', 'test', 3306);
var_dump($mysqli);
var_dump($mysqli->client_info);
var_dump($mysqli->client_version);
var_dump($mysqli->info);
dan keluarannya:
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