Isso está simplesmente errado:
$from = htmlspecialchars(stripslashes(mysql_real_escape_string($_POST['from'])));
Se
from
é suposto ser um número inteiro, basta usar:$from = (int) $_POST['from'];
Também vejo que esse número vem de um id no html e os ids não podem começar com um número.
Editar: Um problema adicional é que você não está selecionando o ID em sua consulta sql se
from
existe e mesmo que você faça isso, essa abordagem pode levar a problemas no futuro quando você excluir registros e seus IDs não forem mais sequenciais. Sobre o primeiro problema, posso resolver isso na alteração do firebug:
if($(window).scrollTop() + $(window).height() == $(document).height()) {
para:
if( ($(window).scrollTop() + $(window).height()) > ($(document).height() - 10) ) {
Editar 2: Para resolver seu problema de ID não sequencial, a maneira mais fácil seria calcular
from
em javascript usando algo como:dataStr = "from=" + $(".n").length; // just count the number of elements you are showing already