2014-06-15 3 views
0

J'essaie de faire une page qui devrait charger le contenu tout en faisant défiler vers le bas.Ne pas charger le contenu lors du défilement - Erreur mysql

J'ai cherché une solution et n'en ai pas trouvé. Tous ceux qui réfrénent à la même erreur n'ont pas une solution utile à mon problème. DONC SVP NE PAS DOUBLER A UNE AUTRE REPONSE!

First_load.php et second_load.php sont inclus dans load_data.php et les fichiers config.php sont inclus dans load_data.php. - Je pense que le problème est quelque chose à être dans second_load.php où il échoue.

J'utilise mysqli

Je reçois cette erreur mysqli:

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /Applications/MAMP/htdocs/ALL/load_data_scrolling/load_first.php on line 2

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /Applications/MAMP/htdocs/ALL/load_data_scrolling/load_first.php on line 3

Voici mon code 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 
} 
?> 

Merci pour votre aide.

Répondre

0

Vous n'ouvrez pas correctement la connexion à votre base de données. Lorsqu'il est utilisé dans un style procédural, mysqli_connect retourne quelque chose si la connexion échoue. Vous pouvez obtenir plus d'informations en mettant à jour votre Config.php en conséquence:

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

PHP a été pointant vers l'emplacement d'erreur correct; "Attention: mysqli_query() s'attend à ce que le paramètre 1 soit mysqli, booléen donné" pointait sur la deuxième ligne de votre load_first.php. Le paramètre 1 était $con - la première fois que vous avez essayé de l'utiliser - et PHP a dit "Je m'attendais à ce que ce soit un objet mysqli, mais c'était en fait un booléen!". Suggérant que votre $con n'était pas réglé correctement. La deuxième erreur est une conséquence de cela, car mysqli_query renverra null s'il ne peut pas interroger la base de données, et mysqli_fetch_array ne peut pas extraire un tableau à partir des données null.

+0

Pour une raison quelconque, il ne s'est pas connecté à la base de données. - Parce que j'ai utilisé $ Con au lieu de $ con. – Chak

Questions connexes