私が覚えている限り、戻り値セットが空の場合。mysqli_result::$field_count は常に 0 です。
ただし、Debian Linux で php を 5.4.4-14_deb7u4 (cli) (ビルド: 2013 年 8 月 23 日 14:37:41) にアップグレードした後、mysqli_result::$field_count は常に select ステートメントの列数であることがわかりました。
<?php
//always return field_count = 2, although 'niuniu' is not in the table;
$sql = "select _id, _id from user_info where name='niuniu'";
ピンクのゾウが見えますか?