Код ниже счетчика участника и гостя. Код отлично работает, когда я добавляю простой столбец (онлайн) в таблицу active_members, когда весь код перестает работать (кроме активных_guests как эта отдельная таблица)Код перестает работать после добавления нового столбца в таблицу
Я неустанно пытался поймать все, что может быть причиной это я включил скриншот таблицы ниже. Я бы добавил новый столбец (онлайн), который является varchar для таблицы members_online, а затем запросит в следующей секции SESSION для этого нового столбца.
Почему код перестает работать, может ли кто-нибудь увидеть причину или решение?
Как только я удаляю онлайн-столбец, код снова заканчивается.
$ sqlt2 запрос ниже - это строка, которую я хочу индексировать новый онлайн-столбец.
include('..\db.php');
$con = mysqli_connect($dbsrvname, $dbusername, $dbpassword, $dbname);
//declare variables
$guest_timeout = time() -1 * 60;
$member_timeout = time() -1 * 60;
$guest_ip = $_SERVER['REMOTE_ADDR'];
$time = time();
// if the session is set PUTS THE USER IN MEMBERS TABLE
if(isset($_SESSION['CurrentUser'])){
//if user is logged in
$sqlt = mysqli_query($con,"DELETE FROM active_guests WHERE guest_ip='".$guest_ip."'");
**//I WANT TO ADD TO THE ONLINE COLUMN AND REPLACE A SIMPLE STRING INTO ONLINE**
$sqlt2 = mysqli_query($con,"REPLACE INTO active_members VALUES ('".$_SESSION['CurrentUser']."','".$time."')");
$name = $_SESSION['CurrentUser'] ;
}else{
//if user not in a session PUTS THE USER IN GUESTS TABLE
$sqlt3 = mysqli_query($con,"REPLACE INTO active_guests (guest_ip,time_visited)VALUES ('".$guest_ip."','".$time."')");
}
//execute querys
$sqlt4 = mysqli_query($con,"DELETE FROM active_guest WHERE time_visited < ".$guest_timeout);
$sqlt5 = mysqli_query($con,"DELETE FROM active_members WHERE time_visited < ".$member_timeout);
$sqlt6 = mysqli_query($con,"SELECT guest_ip FROM active_guests");
$sqlt7 = mysqli_query($con,"SELECT username FROM active_members");
$online_guests = mysqli_num_rows($sqlt6);
if(isset($_SESSION['CurrentUser'])){
$sqlt7 = mysqli_query($con,"SELECT username FROM active_members");
if($sqlt7->num_rows){
while($row = $sqlt7->fetch_object())
{
echo '<pre>',$row->username,'</pre>' ;
}
//$result->free();
}
}else{
echo "Login to see members-online list";
}
$online_members = mysqli_num_rows($sqlt7);
?>
// display results
<div class="container">
<p>_________________________</p>
<p>online Guests : <?php echo $online_guests ; ?></p>
<p>online Members : <?php echo $online_members ; ?></p>
</div>
Может ли колонка в сети быть нулевой? Если нет, он пытается вставить новую строку с операторами REPLACE INTO без заполнения онлайн-столбца и не сработает. –
Что именно означает, что код не работает? Он не с ошибкой? –
@MarvinFischer Спасибо, сэр –