What a roller coaster!  I hadn't noticed that nearly every method checked `m_localized`.  It looks like `php_mysql_extract_result()` uses
```C++
res == nullptr || (res->get() == nullptr && !res->isLocalized())`
```
Maybe that what should be in `isInvalid()` and `php_mysql_extract_result()` should call it?