看来jQuery .load()无法正常工作

时间:2018-08-05 13:15:21

标签: php jquery mysql

我有一个表,该表由三列组成:

id
author
message

一旦用户单击More按钮,该按钮会将Count参数传递给.load函数。然后应该显示新数据  显示空白页。我在做什么错了?

这是index.php:

<div id="comments">
        <?php 
        $v=$db->prepare('select * from  comments limit 2');
        $v->execute();
        $data=$v->fetchAll(PDO::FETCH_ASSOC);
        foreach ($data as $row) {
            echo "<div>".$row['author']."</div>";
            echo "<div>".$row['message']."</div>";
            echo "</br>";
        }
        ?>
</div>
    <input type="submit" name="" id="submit" value="More">
</body>
</html>

<script type="text/javascript">
    $(document).ready(function(){
        var commentCount=2;
        $('#submit').click(function(){
            commentCount=commentCount+2;
            $('#comments').load('loadComments.php',{count:commentCount});
        });
    });
</script>

这是loadComments.php:

<?php 
$db=new PDO('mysql:host=localhost;dbname=ajax',"root","");
$newCount=$_POST['count'];

$ex=$db->prepare('select * from comments limit $newCount');
$ex->execute();
$data=$ex->fetchALL(PDO::FETCH_ASSOC);

foreach ($data as $row) {
    echo "<div>".$row['author']."</div>";
    echo "<div>".$row['message']."</div>";
    echo "</br>";
}

?>

EDİT:

如果我使用这种方式,一切都会好的。

$v=$db->prepare('select * from  comments limit 3');

但是我已经检查了loadComment.php中的count参数

echo $newCount;

我就能得到它有趣的值

1 个答案:

答案 0 :(得分:2)

问题是因为使用单引号字符串(如'而不是双引号字符串(如")-如注释中的@mrunion所述

在PHP中,当使用'时,与"标记相比,内部字符串没有被求值。因此,'select * from comments limit $newCount'的语句按原样发送,而$newCount的求值结果不是2或它的值。

有关PHP报价的完整说明,请参见here