MySQL から MySQLi に変換していますが、mysql クエリで 1 行に制限している場合、行数が 1 かどうかを確認する必要があることに気付きましたか? 結局のところ、返される行は 0 または 1 です。
これが私が現在使用しているコードです(mysqlからmysqliに変換しているためテストされていません):
$query = "SELECT email,auth,username FROM user_list WHERE id = '".$user["id"]."' LIMIT 1";
$query = $mysqli->query($query);
if($query and $query->num_rows() == 1)
{