I’m copying the solution into this answer so this can be given an upvote, otherwise the question will appear in the “unanswered questions” forever. I’m marking this answer CW so I won’t get any points.
@Andrew E. says:
I just turned on
mysqli_report(MYSQLI_REPORT_ALL)
to
get a better understanding of what was
going on – turns out that one of my
field names was incorrect – you’d
think thatprepare()
would throw an
exception, but it fails silently.