I have the following PHP code:
<?php
$host = "localhost";
$username = "root";
$pw = "root";
$db_name = "marketing";
$Connect = mysqli_connect($host, $username, $pw) or die("Couldn't connect to+ MySQL:<0br>" . mysqli_error($Connect) . "<br>" . mysqli_errno($Connect));
$Db = mysqli_select_db($Connect, $db_name)or die("Couldn't select database:<br>" . mysqli_error($Connect). "<br>" . mysqli_errno($Connect));
mysqli_set_charset($Connect, "utf8");
mysqli_autocommit($Connect,TRUE);
$query1 = "select status from cron_statuses where offset = 0";
$res = mysqli_query($Connect, $query1);
$status = mysqli_fetch_assoc($res);
if (!$status['status']){
$query2 = "update cron_statuses set status = 1 where offset = 0";
$res = mysqli_query($Connect, $query2);
//do something
sleep(20);
$query2 = "update cron_statuses set status = 0 where offset = 0";
$res = mysqli_query($Connect, $query2);
}
else{
echo 'cron blocked';
}
?>
Default value for status = 0. if I run the script it will then update status to 1 and then sleep 20 secs and update the status back to 0.
Whiles sleeping, if the script is run in another tab I would expect the status to equal to 1, and should enter the echo cron_block
but if its = 0 it should do the same as the first tab.