2015-05-09 3 views
-2

Так что, в основном, это моя ситуация прямо сейчас. Я использую xampp (друзья apache) для своего локального хоста, и сейчас я нахожусь в процессе создания простых окон чата с помощью AJAX и PHP. В настоящее время у меня есть два файла: C:/xampp/htdocs/AJAX CHAT/index.php и C:/xampp/htdocs/AJAX CHAT/chat.php.Ошибка mysqli_num_rows() без причины?

index.php

<!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" /> 
 
    <title>Deontray's Chat Room!</title> 
 

 
    <script src="jquery-1.7.2.js" type="text/javascript"></script> 
 
    <script type="text/javascript"> 
 
    function chat_initial() { 
 
     var user = document.getElementById("chat_user").value; 
 

 
     $.post('./chat.php', { 
 
     stage: "initial", 
 
     user: user 
 
     }, function(data) { 
 
     alert(data); 
 
     }); 
 

 
     /* 
 
\t \t \t \t get user 
 
\t \t \t \t check if taken 
 
\t \t \t \t hide the initial div 
 
\t \t \t \t display the primary div 
 
\t \t \t \t */ 
 
    } 
 
    </script> 
 

 
    <style type="text/css"> 
 
    <!-- #chatbox { 
 
     background-color: #DDD; 
 
     border: 1px solid #000; 
 
     width: 700px; 
 
     height: 500px; 
 
    } 
 
    #chatbox #initial { 
 
     text-align: center; 
 
     margin: auto; 
 
     width: 250px; 
 
     padding-top: 100px; 
 
    } 
 
    --> 
 
    </style> 
 
</head> 
 

 
<body> 
 

 
    <div id="chatbox"> 
 

 
    <div id="initial"> 
 

 
     <table> 
 
     <tr align="center"> 
 
      <td>Enter a username to start chatting:</td> 
 
     </tr> 
 
     <tr align="center"> 
 
      <td> 
 
      <input type="text" name="chat_user" id="chat_user" style="width: 200px;" /> 
 
      </td> 
 
     </tr> 
 
     <tr align="center"> 
 
      <td> 
 
      <br /> 
 
      <input type="button" value="Enter chat!" onClick="chat_initial();" /> 
 
      </td> 
 
     </tr> 
 
     </table> 
 

 
    </div> 
 

 
    <div id="primary"></div> 
 

 
    </div> 
 

 

 
</body> 
 

 
</html>

chat.php

<?php 
 
//connect to MySQL database 
 
\t mysqli_connect("localhost", "root", "deontray"); 
 
\t mysqli_select_db("tutorials"); 
 

 
//read the stage 
 
\t $stage = $_POST['stage']; 
 
//primary code 
 
\t if($stage == "initial"){ 
 
\t \t //check the username 
 
\t \t $user = $_POST['user']; 
 
\t \t 
 
\t \t $query = mysqli_query("SELECT * FROM `chat_active` WHERE user = '$user'"); 
 
\t \t if (mysqli_num_rows($query) == 0){ 
 
\t \t \t $time = time(); 
 
\t \t \t // 
 
\t \t \t mysqli_query("INSERT INTO `chat_active` VALUES ('$user', '$time')"); 
 
\t \t \t //set the session 
 
\t \t \t $_SESSION['user'] = $user; 
 
\t \t \t 
 
\t \t \t echo "good"; 
 
\t \t } 
 
\t \t else 
 
\t \t \t echo "Username Taken"; 
 
\t } 
 
\t else 
 
\t \t echo "Error."; 
 
?>
Это моя ошибка: Предупреждение: mysql_num_rows ожидает, что параметр 1 будет ресурсом, имеющим значение boolean.

+3

Тот факт, что вы на самом деле не описать проблему или задать вопрос может быть связано, почему вы» не найдя ответа. Есть что-то действительно * неправильное * с вашим кодом? – David

+1

И есть разница между «Это не дубликат, потому что я говорю так» и «Это не дубликат, потому что (1) ... (2) ... (3) ...». Увидев, что вы даже не пытались исследовать 'mysqli_error()' или использовать привязку параметров. – mario

+0

Это моя ошибка: warning: mysql_num_rows ожидает, что параметр 1 будет ресурсом, Boolean given –

ответ

2

соединиться с БД с помощью Mysqli

$connent_mysqli = mysqli_connect($db_host,$db_username,$db_password, $db_name); 

и получить данные, как этот

$query = mysqli_query($connent_mysqli, "SELECT * FROM `chat_active` WHERE user = '$user'");