Извините, недостаточно представителей, чтобы оставлять комментарии вместо ответов.
Вы говорите, что на экран вообще ничего не выводится? Кроме того, вам, вероятно, следует очистить те переменные $ _GET и $ _SESSION, которые вы добавляете в $ mysqli, если это не сделано в другом месте кода. В противном случае вы запрашиваете SQL инъекцию.
Вы проверили, что count($rows)
возвращает? Может быть, это не дало никаких результатов, тем более что вы вставляете $ _GET ['id'] в строку запроса напрямую. Может привести к несоответствию типа или синтаксической ошибке.
Например, предположим, $_GET[‘id’] === ‘asdf’
. Тогда этот фрагмент строки запроса будет idpub=asdf
, что явно является синтаксической ошибкой SQL, поэтому запрос не будет выполнен, и у вас не будет строк для повторения.