В вашем WHERE у вас есть userId = '$ userId'. Другие люди могут исправить меня, если я ошибаюсь, но я уверен, что userId будет неоднозначным, и это утверждение не будет выполнено. @ Джон Хартсокс ответ должен работать, хотя, если это действительно так.
Это не только вопрос. Если вы беспокоитесь о том, чтобы убедиться, что пользователь полностью удален, вам следует использовать ограничения внешнего ключа. Вы сказали, что при удалении пользователя вы хотите убедиться, что вся информация, относящаяся к этому пользователю, удалена. Если вы добавляете ограничение FK к каждой таблице, имеющей идентификатор пользователя (кроме таблицы users, в этом случае у нее будет ограничение первичного ключа), у вас не будет возможности удалить пользователя без предварительной проверки всех остальных данные, ссылающиеся на этого пользователя, удалены.