这个sql语句的语法正确吗?

i34xakig  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(340)
$data_sql = "SELECT * FROM teachers_table LIMIT {$limit} OFFSET {$offset}";

返回以下错误:
错误:您的sql语法有错误;检查与mysql服务器版本相对应的手册,以获得在第1行“limit offset”附近使用的正确语法
我之前在ajax中创建了两个变量:

$.ajax({
             type: "GET",
                url: "mini_profiles.php",
                data: {
                    'offset':0,
                    'limit':9
                      },
                success:function(data){
                    $('body').append(data);
                    flag += 9;
                }

然后我给我试图在sql代码中调用的字符串值赋值:

$limit = 'limit';
 $offset = 'offset';

我所做的创建变量并将它们赋给语句的工作看起来是否准确?我意识到我得到了一个错误,所以显然有一个问题的地方,但只是不知道我的代码是什么部分造成的问题。
非常感谢您的阅读。
更新原始帖子以包含完整的ajax功能:

<script type="text/javascript">

 <!--make the ajax call when page loads-->
$(document).ready(function()
{
     var flag = 0;

     <!--pass the two parameters, offset and limit-->   
     $.ajax({

            type: "GET",
            url: "mini_profiles.php",
            data: {
                'offset':0,
                'limit':9
                  },
            success:function(data){
                $('body').append(data);
                flag += 9;
            }

            });
            //Every time when we scroll we check the current value of scrollbar 
            //and if it has reached the bottom of the page
            $(window).scroll(function(){
                if($(window).scrollTop()>= $(document).height() - $(window).height()){
            //this is what happens at the bottom - same ajax function but we now want to offset by+=3 everytime
            //so above we create a variable and increase by three whenver the ajax call is successful       

                     $.ajax({

                    type: "GET",
                    url: "mini_profiles.php", //this is the ajax function calling the get_data.php
                    data: {
                        'offset':flag,
                        'limit':9
                          },
                    success:function(data){
                        $('body').append(data);
                        flag += 9;
                    }

                    });

                }
            });
});

</script>
f2uvfpb9

f2uvfpb91#

您需要获得从ajax调用传递到变量中的值,以便

$limit = $_GET['limit']; 
$offset = $_GET['offset'];

$data_sql = "SELECT * FROM teachers_table LIMIT {$limit} OFFSET {$offset}";

尽管即使您正在转义输入,这也很容易受到sql注入攻击,但这并不安全!在 MYSQLI_ 或者 PDO api的
你没有说你正在使用哪一个api,所以我不能帮助你展示如何使用参数化和绑定查询。

相关问题