PHPでMySQLから取ってきた値が空になる


現在`PHP`で`MySQL`から値を取得しようとしているのですが、値が空になってしまいます。  
サーバがローカルサーバを使っているので、それが原因かなと個人的に思っているのですが、関係はあるでしょうか？  
ちなみに下記のコードのSQL文を`phpMyAdmin`上で試してみると期待通りの結果が返ってきました。  
どなたか分かる方がいればどこが違うのか教えていただきたいです。すみませんが、よろしくお願いします。

[code]

    class Test{
    
        public function getData(){
    
            $mysqli = new mysqli($server, $user, $pass);
    
            if ($mysqli -> connect_errno) {
                echo $mysqli -> connect_error;
                exit();
            }
    
            $mysqli -> select_db('test');
            $mysqli -> set_charset("utf-8");
    
            $query = "SELECT * FROM word WHERE num = " .$this -> getNum();
            $result = $mysqli -> query($query);
    
            if (!$result) {
                $mysqli -> close();
                exit();
            }
    
            $data = array();
            while ($row = $result -> fetch_assoc()) {
                array_push($data, $row);
            }
    
            $result -> free();
            $mysqli -> close();
    
            return $data;
        }
    }
    
    $test = new Test();
    $data = $test -> getData(); 
    
    foreach ($data as $value) {
        var_dump($value['word']);
    }
    
[/code]

---追記---

結果が空になる原因が多分分かったと思います。  
`SELECT`文でint型の値を取得すると、出力結果に?と表示されました。  
そして文字列型の値を取得すると、出力結果は空でした。  
なので文字コード（？）とかそういったものが原因なのではないかと思います。  
仮に`SELECT * FROM
word`としてデータを全て取得すると、int型の値だけ?になりました。（なぜ出力結果がハテナになるのかもわかりませんが......）  
PHPの文字コードなどの設定もしてみたのですが、依然思った結果が得られていません。  
どうすればよろしいでしょうか？




問題が解決できました。

<http://kuroanco.hateblo.jp/entry/20130903/1378199119>

上記のサイトにあるように

[code]

    $db->query("set names utf8");
    
[/code]

と書いてあげると、出力結果が?になる問題と、SELECT文で条件を指定した時に出力結果が空になる問題が同時に解決されました。  
ご回答くださった皆様、誠にありがとうございました。




問題が解決できました。

<http://kuroanco.hateblo.jp/entry/20130903/1378199119>

上記のサイトにあるように

[code]

    $db->query("set names utf8");
    
[/code]

と書いてあげると、出力結果が?になる問題と、SELECT文で条件を指定した時に出力結果が空になる問題が同時に解決されました。  
ご回答くださった皆様、誠にありがとうございました。

