2016-06-07 2 views
0

was ich tun möchte, ist 1 Benutzer kann nur in 1 Zimmer, wenn er zweite Zimmer wollen, muss er die vorherige verlassen.SQL-Anweisung zu überprüfen, Benutzer haben in jedem Raum

was ich konfrontiert war, kann ich in jedem Raum und wenn ich jedes Zimmer wieder die modale Nachricht pop. Sieht so aus, als ob meine Aussage schief läuft == Ich habe eine schwere Zeit damit. Kann jemand das Falsche, das ich habe, darauf hinweisen?

der Tabelle ist der Name als chatroom_user cloumns = chatroom_id | user_id

chatroom_id is link with chatroom table 
user_id is link with user table 

dies ist mein Code

<?php 

include '../config.php'; 

$id=$_SESSION['id']; 
$chatroomid=$_GET['chatroomID']; 

$chatroomname=mysqli_query($connection,"SELECT name from chatroom Where id='$chatroomid'"); 
$getchatroomname= mysqli_fetch_assoc($chatroomname); 

$check_data= mysqli_query($connection, "SELECT * FROM chatroom_user WHERE chatroom_id='$chatroomid' AND user_id='$id'")or die(mysqli_error($connection)); 
$check= mysqli_num_rows($check_data); 

$checkUserDataInAnyRoom = mysqli_query($connection, "SELECT * FROM chatroom_user WHERE chatroom_id='2' AND user_id=1 "); 
$checkUser= mysqli_num_rows($checkUserDataInAnyRoom); 

if($check==0){ 

    $update_status="INSERT INTO chatroom_user (`chatroom_id`,`user_id`)VALUES ('$chatroomid','$id')"; 
    $check_status=mysqli_query($connection,$update_status)or die(mysqli_error($connection)); 

    $count=mysqli_query($connection,"SELECT * from chatroom_user WHERE chatroom_id ='$chatroomid' ")or die(mysqli_error($connection)); 

    $total_user_in_any_chatroom = mysqli_num_rows($count); 

     echo " Total User : ". $total_user_in_any_chatroom. " " ; 
    } 
    elseif ($checkUser == 0) { 
     echo "<script>$(document).ready(function(){ $('#remind-user-chatroom').modal('show'); });</script> 
       <a href='chatrooms.php'> 
        <div class ='modal fade' id ='remind-user-chatroom' role ='dialog'> 
         <div class ='modal-dialog'> 
          <div class ='modal-content'> 
           <div class ='modal-header'> 
            <button type='class' class ='close' data-dismiss ='modal'>&times;</button> 
            <label class ='modal-title'>Reminder</label> 
           </div> 
           <div class ='modal-body'> 
            <span>You haven't leave previous chatroom. Please leave it and re-enter back. Thank You</span> 
             <div class ='submit-container'> 
              <button type='button' class='btn content-btn'>Leave</button> 
             </div> 
           </div> 
          </div> 
         </div> 
        </div> 
       </a>"; 
    } 
    else{ 
     $count=mysqli_query($connection,"SELECT * from chatroom_user WHERE chatroom_id ='$chatroomid' ")or die(mysqli_error($connection)); 

    $total_user_in_any_chatroom = mysqli_num_rows($count); 

     echo " Total User : ". $total_user_in_any_chatroom. " " ; 
    } 

?>

+0

gibt es eine Fehlermeldung? und fliehen die Daten oder Sie erhalten SQL-Injektion Probleme – user489872

+0

Ich habe keine Fehlermeldung erhalten == Dies ist das Hauptproblem, ich kann nicht finden, welcher Teil ist das Problem oder vielleicht meine Logik denken ist nicht so gut == – Chew

Antwort

0

ändern

"SELECT name from chatroom Where id='$chatroomid'" 
"SELECT * FROM chatroom_user WHERE chatroom_id='$chatroomid' AND user_id='$id'" 
"INSERT INTO chatroom_user (`chatroom_id`,`user_id`)VALUES ('$chatroomid','$id')" 
"SELECT * from chatroom_user WHERE chatroom_id ='$chatroomid' " 

zu

"SELECT name from chatroom Where id='".$chatroomid."'" 
"SELECT * FROM chatroom_user WHERE chatroom_id='".$chatroomid."' AND user_id='".$id."'" 
"INSERT INTO chatroom_user (`chatroom_id`,`user_id`)VALUES ('".$chatroomid."','".$id."')" 
"SELECT * from chatroom_user WHERE chatroom_id ='".$chatroomid."' " 
Verwandte Themen