【发布时间】:2019-12-17 23:57:23
【问题描述】:
我正在尝试使用搜索构建无限滚动。到目前为止,我遇到了这个问题:
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DESC LIMIT 0, 4'.
谁能帮我解决这个问题?
if(isset($_GET["starts"], $_GET["limits"])){
$search = htmlspecialchars($_GET['Search'],ENT_QUOTES,'utf-8');
$start = htmlspecialchars($_GET['starts'],ENT_QUOTES, 'utf-8');
$limit = htmlspecialchars($_GET['limits'],ENT_QUOTES, 'utf-8');
$stmt = $conn->prepare("SELECT `jobtitle`, `company`, `location`,
`employment`, `email`, `Description` FROM `featured job` WHERE jobtitle LIKE
`:jobtitle` DESC LIMIT :starts, :limits");
$stmt->bindParam(":starts", intval(trim($start)), PDO::PARAM_INT );
$stmt->bindParam(":limits", intval(trim($limit)), PDO::PARAM_INT );
$stmt->bindParam(":jobtitle",$search);
$stmt->execute();
foreach ($posts as $data) {
echo "<h2>".$data['jobtitle']."</h2>";
}
这是我的 ajax 代码
$(document).ready(function(){
var limits = 4;
var starts = 0;
var action = 'inactive';
function load_job_data(limits, starts)
{
$.ajax({
url:"load_more.php",
method:"GET",
data:{limits:limits, starts:starts},
cache:false,
success:function(data)
{
$('.results').append(data);
if(data == '')
{
$('#load_data_messages').text("Your potential jobs is loading");
$('#load_data_messages').css("color", "green");
action = 'active';
}
else
{
$('#load_data_messages').text("Out of jobs! please come back later!");
$('#load_data_messages').css("color","red");
action = "inactive";
}
}
});
}
if(action == 'inactive')
{
action = 'active';
load_job_data(limits, starts);
}
$(window).scroll(function(){
if($(window).scrollTop() + $(window).height() > $(".load_data").height()
&& action == 'inactive')
{
action = 'active';
starts = starts + limits;
setTimeout(function(){
load_job_data(limits, starts);
}, 1000);
}
});
});
【问题讨论】:
-
哪里有方向没有意义。您是否缺少
ORDER BY子句?你也不应该需要:jobtitle周围的反引号。 -
@Jonnix 为什么我需要订单而不是地点
-
我希望你两个都想要,但我不知道。这不是一个或两个,你可以两者兼得。
-
我觉得你不确定
htmlspecialchars的目的是什么。只有在向 HTML 输出内容时才应该使用。在您的情况下,您使用进入数据库的整数,这是没有意义的。