滚动时不加载内容 - mysql错误

时间:2014-06-15 18:29:44

标签: php jquery mysqli

我正在尝试创建一个应该在向下滚动时加载内容的页面。

我已经找到了一个解决方案,但没有。所有引起同样错误的人都没有对我的问题有用的解决方案。所以请不要重复另一个答案!

First_load.php和second_load.php包含在load_data.php中,config.php包含在load_data.php中。 - 我认为问题出现在second_load.php中,它失败了。

我使用mysqli

我收到了这个mysqli错误:

  

警告:mysqli_query()期望参数1为mysqli,boolean给出   /Applications/MAMP/htdocs/ALL/load_data_scrolling/load_first.php on   第2行

     

警告:mysqli_fetch_array()要求参数1为mysqli_result,null为   /Applications/MAMP/htdocs/ALL/load_data_scrolling/load_first.php on   第3行

这是我的代码 的config.php

<?php
$con = mysqli_connect("localhost", "root", "xxxx", "loadcontent");
?>

load_data.php

<?php
include('config.php');
$last_msg_id=$_GET['last_msg_id'];
$action=$_GET['action'];

if($action <> "get")
{
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Load Data while scrolling 9lessons tutorials</title>
<link rel="stylesheet" href="9lessons.css" type="text/css" />
<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>

    <script type="text/javascript">
    $(document).ready(function(){

        function last_msg_funtion() 
        { 

           var ID=$(".message_box:last").attr("id");
            $('div#last_msg_loader').html('<img src="bigLoader.gif">');
            $.post("load_data.php?action=get&last_msg_id="+ID,

            function(data){
                if (data != "") {
                $(".message_box:last").after(data);         
                }
                $('div#last_msg_loader').empty();
            });
        };  

        $(window).scroll(function(){
            if  ($(window).scrollTop() == $(document).height() - $(window).height()){
               last_msg_funtion();
            }
        }); 

    });
    </script>

</head>

<body>
<div align="center">
<div>
<h2><a href="http://9lessons.blogspot.com">9Lessons.blogspot.com</a></h2>
</div>

<?php

include('load_first.php');

?>
<div id="last_msg_loader"></div>
</div>
</body>
</html>

<?php
}
else
{

include('load_second.php');     

        }
        ?>

load_first.php

<?php
$sql=mysqli_query($con, "SELECT * FROM messages ORDER BY mes_id DESC LIMIT 20");
while($row=mysqli_fetch_array($sql))
        {
        $msgID= $row['mes_id'];
        $msg= $row['msg'];

?>
<div id="<?php echo $msgID; ?>"  align="left" class="message_box" >
<span class="number"><?php echo $msgID; ?></span><?php echo $msg; ?> 
</div>

<?php
}
?>

load_second.php

<?php
$last_msg_id=$_GET['last_msg_id'];
 $sql=mysqli_query($con, "SELECT * FROM messages WHERE mes_id < '$last_msg_id' ORDER BY mes_id DESC LIMIT 5");
 $last_msg_id="";

        while($row=mysqli_fetch_array($sql))
        {
        $msgID= $row['mes_id'];
        $msg= $row['msg'];
    ?>

        <div id="<?php echo $msgID; ?>"  align="left" class="message_box" >
<span class="number"><?php echo $msgID; ?></span><?php echo $msg; ?> 
</div>


<?php
}
?>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您未正确打开与数据库的连接。在过程样式中使用时,mysqli_connect如果连接失败则返回falsey。您可以相应地更新Config.php来获取更多信息:

<?php
$con = mysqli_connect("localhost", "root", "xxxx", "loadcontent");
if (!$con) { 
    die('Connect error: (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
?>

PHP指向正确的错误位置; &#34;警告:mysqli_query()期望参数1为mysqli,boolean given&#34;指着load_first.php的第二行。参数1是$con - 你第一次尝试使用它 - 而且PHP说#34;我希望这是一个mysqli对象,但它实际上是一个布尔值!& #34 ;.建议您$con未正确设置。由于mysqli_query无法查询数据库,null会返回mysqli_fetch_array,而第null无法获取第二个错误。来自{{1}}数据的数组。