$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>
1条答案
按热度按时间f2uvfpb91#
您需要获得从ajax调用传递到变量中的值,以便
尽管即使您正在转义输入,这也很容易受到sql注入攻击,但这并不安全!在
MYSQLI_
或者PDO
api的你没有说你正在使用哪一个api,所以我不能帮助你展示如何使用参数化和绑定查询。