Las funciones definidas por el usuario tienen su propio alcance variable en PHP. Debe pasar $mysqli
a la función como parámetro, o inicie la función con global $mysqli
.
Este problema exacto se da como ejemplo en el Variable scope página:
<?php
$a = 1; /* global scope */
function test()
{
echo $a; /* reference to local scope variable */
}
test();
?>