Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 与简单的数据库更新抗争_Php_Mysql_Sql Update - Fatal编程技术网

Php 与简单的数据库更新抗争

Php 与简单的数据库更新抗争,php,mysql,sql-update,Php,Mysql,Sql Update,这是一个用于检查用户订阅过期位置的cronjob。有4种不同类型的订阅 但是,我完全不明白为什么在我运行命令时它不更新数据库 以下是脚本: $sub = mysql_query("SELECT turboexpires,platinumexpires,goldexpires,silverexpires FROM $tab[user] WHERE id='$id'"); $expire = mysql_fetch_array($sub); echo "".$expire['0'].

这是一个用于检查用户订阅过期位置的cronjob。有4种不同类型的订阅

但是,我完全不明白为什么在我运行命令时它不更新数据库

以下是脚本:

$sub = mysql_query("SELECT turboexpires,platinumexpires,goldexpires,silverexpires FROM $tab[user] WHERE id='$id'");
    $expire = mysql_fetch_array($sub);
    echo "".$expire['0'].""; 
    echo "".$time."";

    if($expire[0] <= $time){ mysql_query("UPDATE $tab[user] SET turbo='no' AND turboexpires='0' WHERE id='$id'"); }
    if($expire[1] <= '$time'){ mysql_query("UPDATE $tab[user] SET platinum='no', platinumexpires='0' WHERE id='$id'"); }
    if($expire[2] <= '$time'){ mysql_query("UPDATE $tab[user] SET gold='no', goldexpires='0' WHERE id='$id'"); }
    if($expire[3] <= '$time'){ mysql_query("UPDATE $tab[user] SET silver='no', silverexpires='0' WHERE id='$id'"); }
$sub=mysql\u查询(“从$tab[user]中选择turboexpires、platinumexpires、goldexpires、silverexpires,其中id='$id');
$expire=mysql\u fetch\u数组($sub);
回显“$expire['0']”;
回声“$time.”;

如果($expire[0]是$tab[user]您正在修改的表的名称?如果
$id
是一个数字,您不需要引用它。而且,
$tab[user]
似乎关闭。是的,尽管$tab[user]可以正常工作,因为它在我的网站上到处都是。它在不同的功能页中被预定义为表“users”在我的数据库中。我将尝试取消引用$id,但同样,它遍布我的网站,在其他页面上运行,因此不确定这是否有效!感谢您的帮助!您的一个查询使用and,而其他查询使用逗号。这会影响您的查询吗?大约是$time…天知道为什么,哈哈!但确实如此!谢谢大家的帮助!