我正在创建一些练习PHP和MySQL的博客。
我使用这个ajax将数据发送到PHP脚本:
<script type="text/javascript">
$(document).ready(function(){
function search(){
var tag=$("#tagSearch").val();
var tags=$("#tags").val();
if(tag!=""){
//$("#tagHolder").html();
$.ajax({
type:"post",
url:"gettag.php",
data:{tag:tag},
success:function(data){
$("#tagHolder").append(data);
$("#tagSearch").val("");
}
});
}
if(tags != ""){
$.ajax({
type:"post",
url:"getposts.php",//it do get to here
data:{tags:tags},
success:function(data){
$("#recipeHolder").append(data);
}
});
}
}
$("#tagenter").click(function(){
search();
});
$('#tagSearch').keyup(function(e){
if(e.keyCode == 13){
search();
}
});
});
</script>
它确实到达了我在ajax中发表评论的地方。然后它在PHP脚本中的SQL上失败了:
$tags = mysqli_real_escape_string($con, $_POST["tags"]);
$results = mysqli_query($con, SELECT * FROM posts INNER JOIN post_tags ON posts.post_id = post_tags.post_id INNER JOIN tags ON posts.post_tags = tags.tag_id"); //Here it fails
$found = mysqli_num_rows($results);//This one results in error because it expects 1 but gets nothing
if($found > 0){
while($row=mysqli_fetch_array($result)){
echo '<div class="tags">'. $row['tag'] . "</div>";
}
}
mysqli_close($con);
?>
我在php脚本中做了一些评论,这样你就可以在发出错误之前看到它的位置。
我需要查找post表中的所有帖子,其中表post_tags(包含postid(int值)和posttag)id等于post表id,post_tags posttag等于table tags id。