Solo una nota se qualcuno ha problemi simili:
Ho avuto un problema simile --- Inserisci la query che funziona su PHPMyAdmin ma non funziona su PHP e non emette errori (il risultato era vero sempre).
Il motivo è che stavo avviando una transazione ma mi dimenticavo di commetterla...
$mysqli->autocommit(FALSE);
$mysqli->query( "START TRANSACTION" );
Non dimenticare mai questo:
$mysqli->commit();
È un errore sciocco, lo so, ma ero così concentrato sul mistero della query che ho dimenticato le istruzioni sulla transazione poche righe sopra.