Скрипт не меняет значение в базе данных

На сервере поднята база данных MariaDB. При авторизации пользователя значение online должно меняться с 0 на 1.Если вводить в консоли команду, она меняет значение, но именно в скрипте нет. В чем может быть проблема?

#!/usr/bin/php
<?php
$bd = mysqli_connect("localhost","****","******");
mysqli_select_db($bd,"*****");
$user = getenv("username");
$password = getenv("password");
$nowtime=time();
$qr="SELECT * FROM users where username='".$user."' AND password='".$password."' AND date>".$nowtime;
$query=mysqli_query($bd,$qr) or die(mysqli_error());
$strok=mysqli_num_rows($query);
$status = "SELECT * FROM users where online and username = '".$user."'; 
if (if $status == 0)
"UPDATE users SET online = 1 where username = '".$user."';
if ($strok==1)
exit(0);
else
exit(1);
?>

весь код работает, за исключением UPDATE.


Ответы (1 шт):

Автор решения: DrMcSheen
#!/usr/bin/php
<?php
$bd = mysqli_connect("localhost","****","******");
mysqli_select_db($bd,"*****");
$user = getenv("username");
$password = getenv("password");
$nowtime=time();
$qr="SELECT * FROM users where username='$user' AND password='$password' AND date>'$nowtime'";
$query=mysqli_query($bd,$qr) or die(mysqli_error());
$strok=mysqli_num_rows($query);
$qr = "SELECT * FROM users where username = '$user'"; 
$query=mysqli_query($bd,$qr) or die(mysqli_error());
$row=mysqli_fetch_row($query);
if ($row['online'] == 0){
    $qr="UPDATE users SET online = 1 where username = '$user'";
    $query=mysqli_query($bd,$qr) or die(mysqli_error());
}
if ($strok==1)
exit(0);
else
exit(1);
?>
→ Ссылка