sql >> データベース >  >> RDS >> Mysql

AJAX投稿でスクロールしてMySQLからコンテンツをロードする

    これは間違っています:

    $from = htmlspecialchars(stripslashes(mysql_real_escape_string($_POST['from'])));
    

    fromの場合 整数であると想定されているので、次を使用してください:

    $from = (int) $_POST['from'];
    

    また、その番号はhtmlのIDからのものであり、IDを番号で始めることはできません。

    編集: 追加の問題は、fromの場合、SQLクエリでIDを選択していないことです。 存在し、それを実行したとしても、このアプローチでは、将来、レコードを削除し、IDがシーケンシャルでなくなったときに、問題が発生する可能性があります。

    最初の問題については、ファイアバグの変更で解決できます:

     if($(window).scrollTop() + $(window).height() == $(document).height()) {
    

    宛先:

     if( ($(window).scrollTop() + $(window).height()) > ($(document).height() -  10) ) {
    

    編集2: 非シーケンシャルIDの問題を解決するには、fromを計算するのが最も簡単な方法です。 次のようなものを使用するJavaScriptで:

    dataStr = "from=" + $(".n").length;    // just count the number of elements you are showing already
    



    1. MySQL:ページあたりのクエリ数が多すぎますか?

    2. 挿入...選択...サブクエリありまたは列順なし

    3. MySQLデーモンが起動を拒否しますサーバーを起動できません:TCP / IPポートでバインド:アドレスはすでに使用されています(そうではありません)。

    4. ツールボックスから取り出す非推奨の機能–パート2