$stmt->fetch(). If I executed the exact same query using
$mysqli->query()and subsequently using
$result->fetch_object()I would get the values I was looking for.
I went as far as copying and pasting the variable names associated with the column from every place they were used in the script and comparing them to make sure there were no typos.
Now, if I leave everything exactly how it is, I can toggle this behavior by switching the data type of the problematic column between
LONGTEXT. When the column is
LONGTEXTthen the prepared statement returns an empty string to the bound variable. If the column is
TEXTthen everything works as expected.
Strange behavior to say the least. I've caught a few unresolved PHP bug reports that appear to be related to this when looking for PHP MySQLi LONGTEXT, but nothing too detailed.
In any event, we'll be able to work with a
TEXTcolumn instead of using a
LONGTEXTcolumn in this application. You should probably research the impart if could have on you before switching though. Some of the older bug reports appear to mention Wordpress users struggling with this when reading from the Wordpress database for plugins.