如何定义$db?注意:未定义的变量:db



但是,由于我对php中的oop不太熟悉。 我不确定我需要将$db变量定义为什么,以便正确查询我的数据库。他们是我可以编辑此代码的一种方式,因此它避开了$db并使用了不同的方法,该代码正在使用 ajax 加载更多帖子。错误在第 24 行

<html> 
<head> 
<script> 
$(document).ready(function(){ 
$("#loadmorebutton").click(function (){ 
    $('#loadmorebutton').html(''); 
$.ajax({ 
    url: "loadmore.php?lastid=" + $(".postitem:last").attr("id"), 
    success: function(html){ 
        if(html){ 
            $("ul#posts").append(html); 
            $('#loadmorebutton').html('Load More'); 
        }else{ 
            $('#loadmorebutton').replaceWith('No more posts to show.'); 
        } 
    } 
}); 
}); 
}); 
</script> 
</head> 
<body> 
<?php 
if($posts = $db->get_results("SELECT id,text FROM posts ORDER BY id DESC LIMIT 10")) { 
echo '<ul id="posts">'; 
foreach($posts as $post) { 
    echo '<li class="postitem" id="'.$post->id.'">'.$post->text.'</li>'; 
} 
echo '</ul>'; 
} 
?> 
<button id="loadmorebutton">Load More</button> 
</body> 
</html>

加载更多

<?php 
if($_GET['lastid']){ 
if($posts = $db->get_results("SELECT id,text FROM posts WHERE id < ".$db-    >escape($_GET['lastid'])." ORDER BY id DESC LIMIT 10")) { 
    foreach($posts as $post) { 
        echo '<li class="postitem" id="'.$post->id.'">'.$post->text.'</li>'; 
    } 
} 
} 
?>

如果你不习惯面向对象的PHP,但你需要构造你的对象,这将证明是复杂的。例如,MySQLi类构造函数获取用户,密码,数据库等,然后知道它应该连接到哪里。

在使用 $db->get_results 之类的东西之前,您需要构造数据库对象。现在我不认识get_results函数,所以我认为它是一个自定义构建的数据库类。如果您想知道该怎么做,您应该会看到该特定类的文档。

代码看起来很复杂,但如果你想像这样写$db->get_results.您必须在使用主机名、用户、数据库和密码设置数据库连接的构造函数中创建一个数据库类。

之后,您在该类中定义一个get_result的方法,然后创建该类的对象,如$dg=new Database();,然后您可以使用$db->get_result .

与其教你 - 在这里回答需要太长时间,不如通读 PHP 的 OO 页面:http://php.net/manual/en/language.oop5.php

它不会花费您很长时间,并将帮助您了解基础知识,并帮助解决您使用 OO 代码不断遇到的任何问题。

最新更新